本机js或Underscore,从对象获取所有值并放入字符串

时间:2015-06-24 04:10:24

标签: javascript

您好我只想从对象中获取所有字符串值。 IE:

var myObject = {
value1 : 'this is one',
value2 : 'this is two,
value3 : 'this is three'

}

并返回"this is one, this is two, this is three"字符串  以最有效的方式(或接近的东西):) 使用'reduce'是最好的方法吗?

也是奖金问题,如果我想忽略value3,那么我会得到什么 “这是一个,这是两个” 感谢您的任何意见!

2 个答案:

答案 0 :(得分:1)

使用Underscore.js

为此设计了_.values功能。将结果数组加入到字符串中,得到:

var values = _.values(myObject).join(', '); // Put any delimiter you want
// ["this is one, this is two, this is three"]

使用具体的JavaScript

获取对象键,获取值并将它们连接成字符串:

var values = Object.keys(myObject).map(function(key){
    return myObject[key]
}).join(', '); // put any delimiter you want

// ["this is one, this is two, this is three"]

答案 1 :(得分:0)

如果没有下划线,您需要收集所有值,并将它们连接在一起。



function valueString(o, d) {
  var r = [];

  for (var p in o) {
    if (o.hasOwnProperty(p)) {
      r.push(o[p]);
    }
  }

  return r.join(d);
}

var myObject = {
  value1 : 'this is one',
  value2 : 'this is two',
  value3 : 'this is three'
};

console.log(valueString(myObject, ', '));