您好我只想从对象中获取所有字符串值。 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,那么我会得到什么 “这是一个,这是两个” 感谢您的任何意见!
答案 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, ', '));