Javascript JS-如何将具有键和值对的数组转换为对象?

Javascript JS-如何将具有键和值对的数组转换为对象?,javascript,arrays,json,Javascript,Arrays,Json,我想把这个类似数组的对象转换成一个合适的对象 arr={k1:100} 这样做window.copy(arr)应该复制{k1:100} 注意-我需要这样做,因为Node.js express server会返回空数组以响应这种情况。您可以使用对象扩展语法将所有自己的可枚举属性从原始对象复制到新对象: const arr=[]; arr['k1']=100; const obj={…arr}; 控制台日志(obj)您可以使用对象扩展语法将所有自己的可枚举属性从原始对象复制到新对象: const

我想把这个类似数组的对象转换成一个合适的对象

arr={k1:100}

这样做window.copy(arr)应该复制{k1:100}


注意-我需要这样做,因为Node.js express server会返回空数组以响应这种情况。

您可以使用对象扩展语法将所有自己的可枚举属性从原始对象复制到新对象:

const arr=[];
arr['k1']=100;
const obj={…arr};

控制台日志(obj)您可以使用对象扩展语法将所有自己的可枚举属性从原始对象复制到新对象:

const arr=[];
arr['k1']=100;
const obj={…arr};
控制台日志(obj)
var数组=[]
数组[“k1”]=100;
var newObject=Object.assign({},数组);
console.log(newObject)
var数组=[]
数组[“k1”]=100;
var newObject=Object.assign({},数组);

console.log(newObject)为什么不首先使用对象?这不是一个数组应该用于的
arr['k1']=100
并不像你想象的那样。它不会创建一个名为
k1
的索引,其值为
100
。它在名为
k1
的数组实例上创建一个全新的属性,并将值设置为
100
。如果在数组索引上循环,则永远不会看到显示
k1
,这就是
.length
0
的原因。为什么不首先使用对象?这不是一个数组应该用于的
arr['k1']=100
并不像你想象的那样。它不会创建一个名为
k1
的索引,其值为
100
。它在名为
k1
的数组实例上创建一个全新的属性,并将值设置为
100
。如果在数组索引上循环,则永远不会看到
k1
显示,这就是
.length
0
的原因。
var arr = [];
arr['k1'] = 100;
console.log(arr); //o/p - [k1: 100]
arr.length;       //o/p - 0
window.copy(arr);   //copies: []