20

次のようなデータの配列があります。

var nameInfo  = [{name: "Moroni", age: 50},
                 {name: "Tiancum", age: 43},
                 {name: "Jacob", age: 27},
                 {name: "Nephi", age: 29},
                 {name: "Enos", age: 34}];

次のようなオブジェクトがある場合:

var nameInfo  = {name: "Moroni", age: 51};

変数 nameInfo を更新できる簡単な方法はありますか。これらの間の鍵は名前列です。行を検索し、削除して追加することでこれを行う方法があることは知っていますが、行を更新した場所でこれを行う方法が必要です。それが役立つ場合は、underscore.js が読み込まれていることに注意してください。

4

8 に答える 8

11

編集:矢印関数と組み合わせて ES6フィルターを使用できます

nameInfo.filter(x => {return x.name === nametofind })[0].age = newage

_.where機能を使用でき ます

var match = _.where(nameInfo , {name  :nametofind });

その後、試合を更新します

match[0].age = newage
于 2014-09-03T12:50:59.420 に答える
4

findWhere と拡張を使用できます

obj = _.findWhere(@songs, {id: id})
_.extend(obj, {name:'foo', age:12});
于 2015-07-07T18:18:44.423 に答える