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);