如何从对象数组中提取属性值作为数组
在 JavaScript 中,您可能会遇到需要提取属性的情况数组中每个对象的特定属性值。实现此目的的一种方法是通过自定义函数,如下所示:
const objArray = [{ foo: 1, bar: 2 }, { foo: 3, bar: 4 }, { foo: 5, bar: 6 }]; function getFields(input, field) { const output = []; for (let i = 0; i < input.length; ++i) { output.push(input[i][field]); } return output; } const result = getFields(objArray, "foo"); // returns [ 1, 3, 5 ]
但是,使用 JavaScript 的数组方法有更简洁和惯用的方法:
Array.prototype.map():
此方法创建一个新数组对调用数组中的每个元素调用提供的函数的结果。对于您的用例:
const result = objArray.map(a => a.foo);
Array.prototype.map() 与解构:
在映射函数中使用解构可以让您提取更多特定属性简洁地:
const result = objArray.map(({ foo }) => foo);
这些方法提供了一种更干净、更有效的方式来提取属性值,而不需要自定义函数。
以上是如何在 JavaScript 中有效地从对象数组中提取属性值作为数组?的详细内容。更多信息请关注PHP中文网其他相关文章!