如何加入一个对象的值?

时间:2017-11-02 07:22:07

标签: javascript

获取值并加入','

const users = [{
  name: "Jon",
  age: 34,
  country: "ES"
}]

users.map(function(a){
   for (let item in a) { 
     console.log(a[item])
  }
})

//users.join(", ");

我想要返回Jon,34,ES。 有什么建议吗?

5 个答案:

答案 0 :(得分:6)

您可以使用Object.values和map:Objet.values返回对象中的值数组,并通过','将这些值连接到字符串。

const users = [{
  name: "Jon",
  age: 34,
  country: "ES"
}];

var result = users.map(u => Object.values(u).join(','));
console.log(result);

答案 1 :(得分:5)

您可以使用 Object.values 来获取对象属性的数组,然后使用该数组的 join 方法从值中创建字符串:

var result = users.map(function (a) {
    return Object.values(a).join(', ');
});
console.log(result[0]); // Jon, 34, ES

答案 2 :(得分:4)

您可以映射您的用户数组并加入每个用户词典的值。

users.map(user => Object.values(user).join(', '));

答案 3 :(得分:1)

cat /proc/self/maps

arrayOfStrings 将包含一个由对象组成的字符串数组。

供参考使用的方法:

  1. Object.values

  2. Array.prototype.join

答案 4 :(得分:0)

因为已经有很多解决方案可以使用,所以我想提供一个不同的解决方案。

喜欢你的人:



const users = [{
  name: "Jon",
  age: 34,
  country: "ES"
}]

const results = users.map(function(a) {
  const values = [];
  for (let item in a) {
    values.push(a[item]);
  }
  return values.join(", ");
})

console.log(results);




或者对于真正古老的浏览器支持(IE6 +),如下所示:



var users = [{
  name: "Jon",
  age: 34,
  country: "ES"
}]

var results = [];
for (var i = 0; i < users.length; i++) {
  var values = [];
  for (let x in users[i]) {
    values.push(users[i][x]);
  }
  results.push(values.join(", "));
}

console.log(results);
&#13;
&#13;
&#13;

无论如何,我更喜欢使用Arrow functionsArray.prototype.mapObject.values等现代解决方案,就像使用此主题中的其他人一样。