我希望console.log
基于另一个特定值的对象数组中的值。例如,我有一个简单的对象数组。对于v:1的所有对象,我想打印z值。
var array = [
{v:1, z: 4},
{v:3, z: 8},
{v:4, z: 6},
{v:1, z: 4},
{v:2, z: 9},
{v:2, z: 3},
{v:4, z: 7},
{v:1, z: 5},
];
我尝试了类似for (array.v(1) => { console.log(array.z); });
的内容,但语法不正确。这里的语法是什么?
答案 0 :(得分:2)
尝试这样的事情:
array.forEach( function(a) { if ( a.v == 1 ) console.log(a.z); } );
答案 1 :(得分:1)
您需要为每个循环添加一个if语句
您也可以使用滤镜功能,但这会打印符合您滤镜的对象,而不仅仅是z值
var array = [
{v:1, z: 4},
{v:3, z: 8},
{v:4, z: 6},
{v:1, z: 4},
{v:2, z: 9},
{v:2, z: 3},
{v:4, z: 7},
{v:1, z: 5},
];
console.log('For Each')
array.forEach(o=>{ if(o.v == 1)console.log(o.z)})
console.log('Filter')
console.log(JSON.stringify(array.filter(o=>o.v==1)))