javascript - 如何将数字数组转换为字典

标签 javascript arrays

我正在尝试以下代码:

dict=deliveryDays.split(";").map((item,i)=>{
    return ({ i :item})
});

deliveryDays 是一个数字数组,但 { i :item} 中的 i 不是传入 map 的 i。 我想要的是:

[{0:"1", 1:"1", 2:"1" }]

但我看到的是:

[{"i":"0"},{"i":"1"},{"i":"1"}]

所以你可以看到 i 没有得到正确的 i 值。 我怎样才能做到这一点?

最佳答案

您可以使用 spread syntax将您的数组传播到一个新对象中。根据您的预期输出,我看不出有一个只包含一个对象的数组有什么意义:[{0:"1", 1:"1", 2:"1"}]。所以我的第一个猜测是你需要这个::

let deliveryDays = "1;2;3;4;5"
let obj = {...deliveryDays.split(";")};
console.log(obj);
.as-console {background-color:black !important; color:lime;}
.as-console-wrapper {max-height:100% !important; top:0;}

如果您仍然需要数组中的唯一对象,那么很容易发现下一个代码会做到这一点:

let obj = [{...deliveryDays.split(";")}];

另一方面,如果你想要一个包含多个对象的数组,那么你可以这样做:

let deliveryDays = "1;2;3;4;5"
let res = deliveryDays.split(";").map((x, idx) => ({[idx]: x}));
console.log(res);
.as-console {background-color:black !important; color:lime;}
.as-console-wrapper {max-height:100% !important; top:0;}

关于javascript - 如何将数字数组转换为字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55015181/

相关文章:

javascript - PHP - 如果文件存在则运行 JavaScript

c - 从函数返回数组会导致内存泄漏吗?

javascript - 当我指定一定数量的列时,乘法表不起作用

arrays - 具有多个数组的 PowerShell ConvertTo-JSON

javascript - AngularJS - 未知提供商 : undefinedProvider

javascript - HTML 框格式

c++ - 如何让用户输入声明字符串数组的大小?

php - 使用php创建转置矩阵

javascript - 在 WebkitView 中注入(inject) JavaScript 以监听文档正文以查找不适用于所有网页的任何点击事件

javascript - 根据浏览器语言显示特定的 div 或内容?