从JavaScript中的对象返回两个单独的数组
我需要完成keysAndValues函数,以便它接受一个对象并将键和值作为单独的数组返回。例如:从JavaScript中的对象返回两个单独的数组,javascript,arrays,object,Javascript,Arrays,Object,我需要完成keysAndValues函数,以便它接受一个对象并将键和值作为单独的数组返回。例如: keysAndValues({k: 11, l: 12, m: 13}) // should return [['k', 'l', 'm'], [11, 12, 13]] 我已经试过了:试一下: 功能键值(obj,键){ return[keys=Object.keys(obj),keys.map(函数(k){return obj[k]})] } var结果=键值({k:11,l:12,m:13}
keysAndValues({k: 11, l: 12, m: 13}) // should return [['k', 'l', 'm'], [11, 12, 13]]
我已经试过了:试一下:
功能键值(obj,键){
return[keys=Object.keys(obj),keys.map(函数(k){return obj[k]})]
}
var结果=键值({k:11,l:12,m:13});
document.write(JSON.stringify(result))
试试这个
功能键和值(数据){
变量键=对象键(数据),
值=键。映射(函数(键){
返回数据[键];
});
返回[键、值];
}
log(keysAndValues({k:11,l:12,m:13}))代码>老式方法,定义两个数组并将键和值推入其中
function keysAndValues(obj) {
var keys = [], values = [];
for (var p in obj) {
keys.push(p);
values.push(obj[p]);
}
return [keys, values];
}
.
功能键和值(obj){
var键=[];
var值=[];
用于(输入obj){
按键。按(键);
value.push(obj[key]);
}
返回[键,值]
}
console.log(keysAndValues({
k:11,
l:12,
m:13
}));代码>这并没有返回两个arrays@Andy如果他在一个对象中使用超过10000个字段,yesWell。。。他可能:)@wZVanG。使用参数列表作为隐藏变量声明的方法有点可疑。另外,如果您不能绝对保证数组的两个元素将按顺序求值,那么理论上,第二个元素可以在第一个元素之前求值,因此keys
将是未定义的。Object.keys(youobj)用于获取keys和您的小提琴有什么问题?