我有一个像这样的对象:
var person = {
name: "John",
surname: "Smith",
phone: "253 689 4555"
}
Run Code Online (Sandbox Code Playgroud)
我想要:
John,Smith,253 689 4555
Run Code Online (Sandbox Code Playgroud)
有一些简单的方法吗?
如果可能,请您提供一个示例,我也可以定义分隔符?
Jos*_*chi 47
您可以在现代浏览器中使用此单线程
Object.keys(person).map(function(k){return person[k]}).join(",");
Run Code Online (Sandbox Code Playgroud)
小智 17
当您想从对象数组中提取一些属性值作为逗号分隔的字符串时,此代码将非常有用。
var arrayObjects = [
{
property1: "A",
property2: "1"
},
{
property1: "B",
property2: "2"
},
{
property1: "C",
property2: "3"
}
];
Array.prototype.map.call(arrayObjects, function(item) { return item.property1; }).join(",");
Run Code Online (Sandbox Code Playgroud)
输出- “A,B,C”
Jac*_*eld 11
这是一个更简单的单衬。它使用Object.values()方法而不是 Object.keys
Object.values(obj).join(",");
Run Code Online (Sandbox Code Playgroud)
var arr = [
{
key_1: "A",
key_2: "1"
},
{
key_1: "B",
key_2: "2"
},
{
key_1: "C",
key_2: "3"
}
];
var CSVOf_arr = arr.map((item) => { return item.key_1 }).join(',')
console.log('Comma seprated values of arr', CSVOf_arr)
Run Code Online (Sandbox Code Playgroud)
输出:A、B、C
试试这个:
var key,
person = {
name: "John",
surname: "Smith",
phone: "253 689 4555"
},
array = [];
for ( key in person ) {
if ( person.hasOwnProperty( key ) ) {
array.push( person[ key ] );
}
}
console.log( array.join( ',' ) );
Run Code Online (Sandbox Code Playgroud)
或功能风格:
var
getValues = function ( obj ) {
var key,
array = [];
for ( key in obj ) {
if ( obj .hasOwnProperty( key ) ) {
array.push( obj [ key ] );
}
}
return obj.join( ',' );
};
var person = {
name: "John",
surname: "Smith",
phone: "253 689 4555"
};
console.log( getValues( person ) );
Run Code Online (Sandbox Code Playgroud)
写一个这样的函数:
function toCSV(obj, separator) {
var arr = [];
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
arr.push(obj[key]);
}
}
return arr.join(separator || ",");
}
Run Code Online (Sandbox Code Playgroud)
然后你可以这样称呼:
toCSV(person, "|"); // returns "John|Smith|253 689 4555"
Run Code Online (Sandbox Code Playgroud)
要么
toCSV(person); // returns "John,Smith,253 689 4555"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24688 次 |
| 最近记录: |