繁体   English   中英

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

[英]JS- How to convert an array with key and value pairs to an object?

var arr = [];
arr['k1'] = 100;
console.log(arr); //o/p - [k1: 100]
arr.length;       //o/p - 0
window.copy(arr);   //copies: []

我想将这个类似数组的 object 转换为适当的对象,即

arr = { k1: 100}

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

注意 - 我需要这样做,因为 Node.js 快递服务器返回空的 arrays 以响应这种情况。

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

 const arr = []; arr['k1'] = 100; const obj = {...arr }; console.log(obj);

即使arr最初是一个数组,而不是普通的 object,这也有效,因为k1属性直接存在于数组上。

(但理想情况下,永远不应该有代码分配给数组的任意属性——最好在这种情况下重构它以使用 object 开始)

 var array = [] array["k1"] = 100; var newObject = Object.assign({},array); console.log(newObject);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM