Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.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 - Fatal编程技术网

Javascript 将对象转换为数组列表

Javascript 将对象转换为数组列表,javascript,Javascript,我收到一个名为obj的key/value对象,该对象需要转换为数组中的数组列表(arr[[key:value][key:value]]) 可以与一起使用,并为每个属性返回一个新对象 function convertObjectToList(object) { return Object.keys(object).map(function (k) { var temp = {}; temp[k] = object[k]; return tem

我收到一个名为obj的key/value对象,该对象需要转换为数组中的数组列表(arr[[key:value][key:value]])

可以与一起使用,并为每个属性返回一个新对象

function convertObjectToList(object) {
    return Object.keys(object).map(function (k) {
        var temp = {};
        temp[k] = object[k];
        return temp;
    });
}
ES6


在创建数组元素之前,不能为数组元素的索引赋值。由于没有
arr[0]
,因此无法分配给
arr[0][i]
。解决方案是使用内部数组对数组进行初始化

对于第三级,您可以只使用数组文本,而不需要分配给索引。您可以使用
.push()
向数组中添加元素,而不是递增
i

function convertObjectToList(obj) {
  var arr = [[]];
  for(var key in obj){
    arr[0].push([key, obj[key]]);
  }
  return arr;
}

数组中不能有
key:value
。你到底想得到什么结果?显示示例输入和(有效)输出。问题是什么?您的目标是什么?看起来您将在该循环中收到未定义的错误,因为
arr[0]
undefined
(每个子项
arr[0][i]
arr[0][i][0]
),您需要在设置它们的属性之前定义它们<代码>对象条目(obj)
function convertObjectToList(object) {
    return Object.keys(object).map(k => ({ [k]: object[k] }));
}
function convertObjectToList(obj) {
  var arr = [[]];
  for(var key in obj){
    arr[0].push([key, obj[key]]);
  }
  return arr;
}