"Joe,-6ren">
gpt4 book ai didi

javascript - 对对象数组中的值执行 .join

转载 作者:IT老高 更新时间:2023-10-28 13:13:12 25 4
gpt4 key购买 nike

如果我有一个字符串数组,我可以使用 .join() 方法获取单个字符串,每个元素用逗号分隔,如下所示:

["Joe", "Kevin", "Peter"].join(", ") // => "Joe, Kevin, Peter"

我有一个对象数组,我想对其中的一个值执行类似的操作;所以从

[
{name: "Joe", age: 22},
{name: "Kevin", age: 24},
{name: "Peter", age: 21}
]

只对 name 属性执行 join 方法,以达到与之前相同的输出。

目前我有以下功能:

function joinObj(a, attr){
var out = [];

for (var i = 0; i < a.length; i++){
out.push(a[i][attr]);
}

return out.join(", ");
}

这段代码没有任何问题,它可以工作,但突然之间,我已经从一个简单、简洁的代码行变成了一个非常命令式的函数。有没有更简洁、更实用的写法?

最佳答案

如果您想将对象映射到某物(在本例中为属性)。我认为 Array.prototype.map如果您想进行功能性编码,这就是您正在寻找的东西。

(fiddle)

如果您想支持旧版浏览器,那不是 ES5 compliant你可以填充它(上面的 MDN 页面上有一个 polyfill)。另一种选择是使用 underscorejs 的 pluck方法:

var users = [
{name: "Joe", age: 22},
{name: "Kevin", age: 24},
{name: "Peter", age: 21}
];
var result = _.pluck(users,'name').join(",")

关于javascript - 对对象数组中的值执行 .join,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16607557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com