gpt4 book ai didi

javascript - 如何在javascript中创建没有键的json对象数组

转载 作者:行者123 更新时间:2023-11-30 21:17:04 25 4
gpt4 key购买 nike

我想创建一个没有键的 JSON 对象数组。如何实现......?

例如 [{8,0,2}, {20,0,2}]

var hh = 9
var mm = 8
var qty = 2
var data = [];
data.push({hh,mm,qty})

它提供的数据如[{hh:9,mm:8,qty:2}]我想要像 [{9,8,2},{9,3,4}] 这样的数组

最佳答案

您的示例使用了 ECMAScript 6 的一项新功能,即初始化对象属性的简写语法。您示例中的这一行:

data.push({hh,mm,qty});

相当于这个冗长的:

data.push({hh: hh, mm: mm, qty: qty});

JavaScript 中的对象总是有键和值。没有办法在普通对象中只保存值。但是,还有其他两种解决方案。

一个是使用数组:

data.push([hh, mm, qty]);

注意用方括号代替大括号。这显然会将包含三个值的数组推送到 data 数组。检索值时,您可以只引用它们的索引,因为数组的项目将始终保留它们的索引:

var data2 = [hh, mm, qty];
var hh2 = data2[0];
var mm2 = data2[1];
var qty2 = data2[2];

另一种“保存值”的方法是使用集合,尽管Set 对象的构造仍然需要向其传递一个数组:

data.push(new Set([hh, mm, qty]));

在这种情况下,访问数据就不那么直接了,因为集合通常只允许您对其进行迭代。与其他语言中的类似数据结构不同,JavaScript 集将保留插入值的顺序。因此可以安全地将其转换为数组:

var mySet = new Set([hh, mm, qty]);
var data3 = Array.from(mySet);
var hh3 = data3[0];
var mm3 = data3[1];
var qty3 = data3[2];

您可以阅读有关集的更多信息 here .

关于javascript - 如何在javascript中创建没有键的json对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45568649/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com