【发布时间】:2021-05-11 03:35:45
【问题描述】:
我想像这样转换一个对象:
let obj = {
arabicLang: false,
cancelVisitEmailAlert: false,
canselVisitSmsAlert: false
}
到这样的键值对数组中:
[
"arabicLang": false,
"cancelVisitEmailAlert": false,
"canselVisitSmsAlert": false
]
我阅读了 StackOverflow 中的所有问题,但没有一个是我的情况
我试试这个,但它返回字符串中的键和值:
let data = [];
for (const [key, value] of Object.entries(obj)) {
data.push(createData(key, value));
}
function createData(key, value) {
return key + ":" + value;
}
也可以试试这个:
let arr = Array.of(obj)
console.log(arr)
/* output is
[{
arabicLang: false,
cancelVisitEmailAlert: false,
canselVisitSmsAlert: false
}]
*/
它保存对象容器
【问题讨论】:
-
arabicLang: false作为一个元素不起作用(这是一个语法错误),你希望它成为一个对象吗:{arabicLang: false}? -
我认为你不能像这样创建一个
Array,如果你想创建一个objects的Array使用Object.entries(obj),这将导致[{a: 1}, {b:2}] -
Javascript 中的所有对象键都是字符串,在编写对象字面量时,不需要引号。
-
您可以使用 Object.entries() 并将结果平展,但结果将以逗号分隔,而不是
semicolon comma semicolon comma -
由于
[arabicLang: false]是无效语法,我们无法真正知道您期望它做什么。为什么你想要一个数组而不是一个对象?您打算如何使用该值?也许这有助于了解您想要实现的目标。
标签: javascript arrays object