2016-05-19 7 views
0

私はjsonオブジェクトを持っていますが、出力を変数にフォーマットしたいと思っています。オブジェクトのforループでカスタム出力を構築する

var json = [ 
   { 
      "link-params": { 
         "location_id": 1 
      }, 
      "link-text": "United States" 
   }, 
   { 
      "link-params": { 
         "location_id": 9 
      }, 
      "link-text": "Florida" 
   } 
] 

for(var i = 0; i < json.length; i++) { 
    var data = json[i]['link-text']; 
} 

//output United States/Florida 

私は、アメリカ/フロリダ州のような出力が

あなたがJavaScriptでこれを行う方法任意のアイデアをしたいですか?私はangular.jsに

+0

"str2.concat(str1)"関数は、 –

+0

を使用して、JSONオブジェクトに 'json [" link-text "]'を付けて連結します。 –

答えて

1

を使用していますが、jsonオブジェクトのすべての反復にそれが見えるようにし、それに値を連結するdata先に宣言する必要があります。この

data=''; 
for(var i = 0; i < json.length; i++) { 
    var str1 = json[i]['link-text']; 
    if(i !== json.length - 1) str1 += '/'; 
    data = data.concat(str1) 
} 
+0

希望の出力は米国/フロリダですが、上記のコード出力は米国/フロリダ/ –

+0

@AshwinAggarwal、ありがとうございます –

0

を試してみてくださいではなく、すべてのそれを上書きします時間。

var data = ''; 
for(var i = 0; i < json.length; i++) { 
    data += json[i]['link-text']; 
    if(i !== json.length - 1) data += '/'; 
} 
0

デモ

json.reduce(function(html, link){ 
    return html + (link['link-text'] ? link['link-text'] + (json.indexOf(link) != json.length - 1 ? '/' : '') : ''); 
}, ''); 

、あなたがArray.prototype.reduceを使用し、以下のように、より機能的な方法でコードを書くことができ、この

var myApp = angular.module('myApp',[]); 
 

 
function DetailCtrl($scope) { 
 
    $scope.json = [ 
 
    { 
 
     "link-params": { 
 
     "location_id": 1 
 
     }, 
 
     "link-text": "United States" 
 
    }, 
 
    { 
 
     "link-params": { 
 
     "location_id": 9 
 
     }, 
 
     "link-text": "Florida" 
 
    } 
 
]; 
 
    var data = []; 
 
    var item = ""; 
 
    angular.forEach($scope.json,function(value,key){ 
 
     angular.forEach(value,function(v,k){ 
 
      if(k == "link-text") 
 
       item = item +v+"/"; 
 
      }); 
 
      
 
     }); 
 
    data.push(item); 
 
console.log(data); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="myApp" ng-controller="DetailCtrl"> 
 
    
 
</div>

+0

私はどのようにこのビューにアクセスしますか? {{item}}基本的には、Ionic Frameworkを使用してを動的に更新しようとしています。 – limit

0

を試してみてください。JSFiddle

関連する問題