JavaScript | 对象:获取属性Ninja Move

Cod*_*ody 1 javascript collections getter object

寻找一种从对象中的键中提取值的本机方法...

我有一个可能如下所示的集合:

[ { id: '998' }, { id: '997' }, { id: '996' } ]
Run Code Online (Sandbox Code Playgroud)

我想做类似以下的事情:

var ids = collection.map(Object.getMyProperty.bind(this, 'id'));
Run Code Online (Sandbox Code Playgroud)

结果:

[ '998', '997', '996' ]
Run Code Online (Sandbox Code Playgroud)

不用说,我们可以为此编写一个迭代器,但我正在寻找一些更紧凑的东西.我说'忍者移动'意味着一些非常具有创造性的东西,例如Array.apply(null, { length: 3 });导致长度为3的数组 - 或者来自Resig's Secrets ...的其他方法.

任何人都有简单,紧凑,快速的方法来实现这一点?

谢谢!

Tus*_*har 7

你可以用Array#map.

var ids = [{id: '998'}, {id: '997'}, {id: '996'}].map(o => o.id);
Run Code Online (Sandbox Code Playgroud)

var ids = [{id: '998'}, {id: '997'}, {id: '996'}].map(o => o.id);
console.log(ids);
Run Code Online (Sandbox Code Playgroud)