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

Printing objects of one value based on another value

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

尝试这样的事情:

array.forEach( function(a) { if ( a.v == 1 ) console.log(a.z); } );

您需要为每个循环添加一个 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)))