javascript - 将 Array 转换为 Object 时奇怪的数据在 javascript 中丢失

标签 javascript arrays ecmascript-6 javascript-objects

我刚刚在处理 JavaScript 对象时发现了这个我无法理解的东西。我创建了一个包含少量值的数组,并尝试在 JavaScript 中使用 spread 和 new 将该数组转换为对象,但令我惊讶的是,只有数组中的第一个值被放入了类型为 的对象中。

我不需要后台到底发生了什么

let array = [1970,1,1]
let object = new Object(array)

console.log(object)

输出:

Number {1970}

I was expecting {1970 , 1 , 1} object but actual output is Number {1970}

最佳答案

使用 Object.assign 将数组转换为对象

Object.assign({},[1970,1,1])

或者您可以用数组元素填充对象

let array = [1970,1,1];
var obj = new Object();
Array.prototype.push.apply(obj, array);
console.log(obj); 

关于javascript - 将 Array 转换为 Object 时奇怪的数据在 javascript 中丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57058689/

相关文章:

javascript - 单击按钮时使用 jQuery 更改 CSS 定义

javascript - 隐藏一个 bootstrap 表头

mysql 不返回正确的 json

javascript - 如何存储和检索我创建的 JavaScript 变量?

javascript - javascript 对象如何可以只有属性而没有预定义的键

javascript - 如何在 ES6 类中声明公共(public)函数?

javascript - 在 ECMAScript 6 草案中,使用 StopIteration 异常来表示迭代结束的基本原理是什么?

javascript - 如何将可拖动元素限制为主体、禁用文本选择并启用表单输入?

javascript - 我如何单独获取 li 文本而不是内部 HTML

jQuery - 数组元素上的迭代 + addClass