我有一个由具有两个属性的对象组成的数组.
一个属性"value"是1到6之间的数字.另一个属性"id"是1到200之间的数字.
如何返回"value"= 1的所有对象的"id"属性并将它们写入新数组?
jAn*_*ndy 32
你应该在Array.prototype.filter那里调用函数.
var filteredArray = YourArray.filter(function( obj ) {
return obj.value === 1;
});
Run Code Online (Sandbox Code Playgroud)
.filter()要求您返回所需的条件.它将根据过滤结果创建一个新数组.如果您还想对已过滤的操作进行操作Array,则可以调用更多方法,例如在您的实例中.map()
var filteredArray = YourArray.filter(function( obj ) {
return obj.value === 1;
}).map(function( obj ) {
return obj.id;
});
console.log( filteredArrays ); // a list of ids
Run Code Online (Sandbox Code Playgroud)
......在不久的将来,我们最终可以使用ES6 的Arrow功能,这使得这个代码更加美观:
var filteredArray = YourArray.filter( obj => obj.value === 1 ).map( obj => obj.id );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24645 次 |
| 最近记录: |