根据另一个值打印一个值的对象

时间:2018-06-16 00:58:21

标签: javascript arrays object console.log

我希望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); });的内容,但语法不正确。这里的语法是什么?

2 个答案:

答案 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)))