Underscore JS按键值对更新对象数组

时间:2016-10-21 05:18:42

标签: javascript angularjs underscore.js lodash

说我有一个像这样的对象数组:

$scope.colors = [
  {color:'Teal', id:5},
  {color:'Black', id:8},
  {color:'Red', id:9}
];

我想做这样的事情

$scope.colors = _update(color='Yellow' where id=8);

你如何在underscorejs中完成这样的事情?或者Lodash或Typescript是这样的最佳选择?

目标是让新阵列像这样:

$scope.colors = [
  {color:'Teal', id:5},
  {color:'Yellow', id:8},
  {color:'Red', id:9}
];

我来自PHP / MySQL背景。

1 个答案:

答案 0 :(得分:0)

您可能不需要underscore.js。 Array.map会做到这一点。



var colors = [
  {color:'Teal', id:5},
  {color:'Black', id:8},
  {color:'Red', id:9}
];

colors.map(function(i){

    if(i.id == 8) {
        i.color= 'Yellow'; 
    }
    return i;

});

console.log(colors);