Javascript 将对象转换为数组列表
我收到一个名为obj的key/value对象,该对象需要转换为数组中的数组列表(arr[[key:value][key:value]]) 可以与一起使用,并为每个属性返回一个新对象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
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;
}