从Javascript中的对象数组返回单个属性的数组

从Javascript中的对象数组返回单个属性的数组,javascript,arrays,Javascript,Arrays,我正在寻找一种在Javascript中只返回对象数组的单个属性的数组的方法。具体来说,如果我有一个数组结构,其格式符合以下规范: [ { prop1: "someVar", prop2: "anotherVar" }, { prop1: "foo", prop2: "bar" }, { prop1: "abc", prop2: "def" } ] 如何仅返回prop1属性的数组?例如: [ "someVar", "foo", "abc" ] 我想我可以简单地在我的

我正在寻找一种在Javascript中只返回对象数组的单个属性的数组的方法。具体来说,如果我有一个数组结构,其格式符合以下规范:

[
    { prop1: "someVar", prop2: "anotherVar" }, 
    { prop1: "foo", prop2: "bar" }, 
    { prop1: "abc", prop2: "def" }
]
如何仅返回
prop1
属性的数组?例如:

[ "someVar", "foo", "abc" ]
我想我可以简单地在我的原始数组上使用.
filter
方法,如下所示:

self.myArray.filter(function (el) {
        return el.prop1;
    });
但这显然不起作用。。。想法?

试试这个

var newArray = [
    { prop1: "someVar", prop2: "anotherVar" }, 
    { prop1: "foo", prop2: "bar" }, 
    { prop1: "abc", prop2: "def" }
].map(function(item) {
    return item.prop1;
});
如果
prop1
是动态的,那么您可以使用如下函数:

function extractProperty(array, prop) { //you may want to give it a better name
    return array.map(function(item) {
        return item[prop]; 
    });
}
你可以像这样使用它

var array = extractProperty([
    { prop1: "someVar", prop2: "anotherVar" }, 
    { prop1: "foo", prop2: "bar" }, 
    { prop1: "abc", prop2: "def" }
], 'prop1');

必须考虑op希望“prop1”(例如,哪个属性)是动态的——确切地说。我删除了我的答案,那是相同的,很好的答案+1正式的计算机科学数据科学名称应为
项目
,以防有人关心。@renatoargh,感谢您的解决方案。是的,所讨论的属性不是动态的,但是很高兴知道如果它是动态的,需要什么。干杯。另外,当你进入一些很酷的库时,比如underline.js,你可以直接使用库中已经为你准备好的。