2016-10-26 4 views
1

私はこの配列を持っている:配列のプロパティの内容を変更するには?

var arr=[{Id:'3',Status:True, ObjectId:'23'}, 
     {Id:'4',Status:False, ObjectId:'5'}, 
     {Id:'5',Status:True, ObjectId:'78'}, 
     {Id:'6',Status:False, ObjectId:'54'}, 
     {Id:'7',Status:True, ObjectId:'85'}] 

ステータスはBooleanタイプです。

arr変数では、すべてのプロパティの内容を変更する必要があります。

ここでStatusTrue固定として設定する必要があります。

ここでStatusFalseです。これを「破損」に設定する必要があります。

var arr=[{Id:'3',Status:Fixed, ObjectId:'23'}, 
     {Id:'4',Status:Damaged, ObjectId:'5'}, 
     {Id:'5',Status:Fixed, ObjectId:'78'}, 
     {Id:'6',Status:Damaged, ObjectId:'54'}, 
     {Id:'7',Status:Fixed, ObjectId:'85'}] 

それを実装するための最良の方法は何ですか?ここで

は、所望の結果でありますか

+0

は 'Fixed'文字列ですか? –

答えて

4

あなたはtags

var arr=[{Id:'3',Status:true, ObjectId:'23'}, 
 
      {Id:'4',Status:false, ObjectId:'5'}, 
 
      {Id:'5',Status:true, ObjectId:'78'}, 
 
      {Id:'6',Status:false, ObjectId:'54'}, 
 
      {Id:'7',Status:true, ObjectId:'85'}] 
 

 
angular.forEach(arr, function(value, key) { 
 
    value.Status = value.Status ? 'Fixed' : 'Damaged'; 
 
}); 
 

 
console.log(arr);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

それともAngularずに

var arr=[{Id:'3',Status:true, ObjectId:'23'}, 
 
     {Id:'4',Status:false, ObjectId:'5'}, 
 
     {Id:'5',Status:true, ObjectId:'78'}, 
 
     {Id:'6',Status:false, ObjectId:'54'}, 
 
     {Id:'7',Status:true, ObjectId:'85'}] 
 

 
arr.forEach(item => item.Status = item.Status ? 'Fixed' : 'Damaged'); 
 

 
console.log(arr);
を行うことができ、それを述べてきたよう

使用Angular.ForEachこのアプローチを試してみてください

としては、コメントで言及された、このアプローチは、IE 8

enter image description here

+0

私の知る限り、forEachはIE8では動作しません。 – Mistalis

+0

@Mistalisあなたは正しいです。配列をループするだけです。手動ですべてを手動で変更することもできます。 –

+0

'angular.forEach'を使用することもできます。すべてのWebブラウザで使用できます。 – Mistalis

0

非ES6では動作しません。

arr.map(function(item) { 
    item.Status = item.Status ? 'Fixed' : 'Damaged'; 
    return item; 
}) 
1

Array.prototype.map(...)

を使用してこれがサポートされていません。 IE8によって

var arr = [{ 
 
    "Id": '3', 
 
    "Status": true, 
 
    "ObjectId": '23' 
 
}, { 
 
    "Id": '4', 
 
    "Status": false, 
 
    "ObjectId": '5' 
 
}, { 
 
    "Id": '5', 
 
    "Status": true, 
 
    "ObjectId": '78' 
 
}, { 
 
    "Id": '6', 
 
    "Status": false, 
 
    "ObjectId": '54' 
 
}, { 
 
    "Id": '7', 
 
    "Status": true, 
 
    "ObjectId": '85' 
 
}]; 
 

 
arr.map(function(item){ 
 
    item.Status = item.Status ? "Fixed" : "Damage"; 
 
}); 
 

 
console.log(arr);

関連する問題