Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从JavaScript中的对象返回两个单独的数组_Javascript_Arrays_Object - Fatal编程技术网

从JavaScript中的对象返回两个单独的数组

从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函数,以便它接受一个对象并将键和值作为单独的数组返回。例如:

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和您的小提琴有什么问题?