Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我可以根据对象数组中的键获取每个值吗?_Javascript_Underscore.js - Fatal编程技术网

Javascript 我可以根据对象数组中的键获取每个值吗?

Javascript 我可以根据对象数组中的键获取每个值吗?,javascript,underscore.js,Javascript,Underscore.js,我有这样一个数组: [ { foo: bar, bar: foo, }, { foo: bar, bar: baz, }, { foo: bar, bar: foo, }, ] [foo, baz, foo] 我希望得到一个如下所示的数组: [ { foo: bar, bar: foo, }, { foo: bar, bar: baz, }, { foo: ba

我有这样一个数组:

[
  {
    foo: bar,
    bar: foo,
  },
  {
    foo: bar,
    bar: baz,
  },
  {
    foo: bar,
    bar: foo,
  },
]
[foo, baz, foo]
我希望得到一个如下所示的数组:

[
  {
    foo: bar,
    bar: foo,
  },
  {
    foo: bar,
    bar: baz,
  },
  {
    foo: bar,
    bar: foo,
  },
]
[foo, baz, foo]
纯JS或下划线是否可以实现这一点?我只需要支持现代浏览器。

你可以通过

使用ES5(纯JS):

或加下划线:

var result = _.map(thatArray, function (x) { return x.bar; });

下划线JS具有
..pull()

发件人:

可能是最常见用例的方便版本 对于映射:提取属性值列表

var stooges = [{name: 'moe', age: 40}, {name: 'larry', age: 50}, {name: 'curly', age: 60}];
_.pluck(stooges, 'name');
 => ["moe", "larry", "curly"]

纯JS:此代码将在非严格模式下工作。这可能不是最有效的方法。但是,我认为这很简单

var A = [
  {
    foo: "bar",
    bar: "foo",
  },
  {
    foo: "bar",
    bar: "baz",
  },
  {
    foo: "bar",
    bar: "foo",
  },
]
var key = "bar";
var length = A.length;
var B = [];
for(var i = 0; i < length; ++i){
  if(A[i][key]){
    B[B.length] = A[i][key];
  }
}
console.log(B);
var A=[
{
福:“酒吧”,
酒吧:“富”,
},
{
福:“酒吧”,
酒吧:“巴兹”,
},
{
福:“酒吧”,
酒吧:“富”,
},
]
var key=“bar”;
变量长度=A.长度;
var B=[];
对于(变量i=0;i
So循环遍历数组,读取对象,推送到数组。
var stooges = [{name: 'moe', age: 40}, {name: 'larry', age: 50}, {name: 'curly', age: 60}];
_.pluck(stooges, 'name');
 => ["moe", "larry", "curly"]
var A = [
  {
    foo: "bar",
    bar: "foo",
  },
  {
    foo: "bar",
    bar: "baz",
  },
  {
    foo: "bar",
    bar: "foo",
  },
]
var key = "bar";
var length = A.length;
var B = [];
for(var i = 0; i < length; ++i){
  if(A[i][key]){
    B[B.length] = A[i][key];
  }
}
console.log(B);