Javascript:对象键值对
Javascript: object key-value pairs
我正在尝试获得如下输出:-
[{"option_id":1,"name":"small"},{"option_id":1,"name":"medium"}]
下面是我的代码片段,如您所见,console.log 只显示单个对象而不是两个。这是为什么? :/
const myObject = {
"'\'": "small",
"'\'": "medium"
};
var item = [];
Object.entries(myObject).forEach(([k, v]) => {
item.push({
name: v,
option_id: k
});
console.log(item);
})
一个选项是创建一个 JSON 格式的字符串,然后使用 JSON 库处理该字符串。
const myObject = {
1: "small",
1: "medium"
};
var item = [];
Object.entries(myObject).forEach(([k, v]) => {
item.push('{"name":"' + v + '", "option_id":"' + k + '"}');
})
console.log(JSON.stringify(JSON.parse('[' + item.join(",") + ']')));
您使用的方法只是覆盖了您创建的重复键...为防止出现这种情况,请不要使用对象键!你可以依靠数组传递你想要的数据
查看示例 =>
const myObject = {
// number : [name , option]
0: ["small", 1],
1: ["medium", 1]
};
let item = [];
Object.entries(myObject).forEach(obj => {
item.push({
name: obj[1][0],
option_id: obj[1][1]
});
})
console.log(item);
使用数组方法的最佳方式
let myObject = [
["small", 1],
["medium", 1]
];
myObject = myObject.map(obj => {
return {
name: obj[0], option_id: obj[1]};
});
console.log(myObject);
我正在尝试获得如下输出:-
[{"option_id":1,"name":"small"},{"option_id":1,"name":"medium"}]
下面是我的代码片段,如您所见,console.log 只显示单个对象而不是两个。这是为什么? :/
const myObject = {
"'\'": "small",
"'\'": "medium"
};
var item = [];
Object.entries(myObject).forEach(([k, v]) => {
item.push({
name: v,
option_id: k
});
console.log(item);
})
一个选项是创建一个 JSON 格式的字符串,然后使用 JSON 库处理该字符串。
const myObject = {
1: "small",
1: "medium"
};
var item = [];
Object.entries(myObject).forEach(([k, v]) => {
item.push('{"name":"' + v + '", "option_id":"' + k + '"}');
})
console.log(JSON.stringify(JSON.parse('[' + item.join(",") + ']')));
您使用的方法只是覆盖了您创建的重复键...为防止出现这种情况,请不要使用对象键!你可以依靠数组传递你想要的数据
查看示例 =>
const myObject = {
// number : [name , option]
0: ["small", 1],
1: ["medium", 1]
};
let item = [];
Object.entries(myObject).forEach(obj => {
item.push({
name: obj[1][0],
option_id: obj[1][1]
});
})
console.log(item);
使用数组方法的最佳方式
let myObject = [
["small", 1],
["medium", 1]
];
myObject = myObject.map(obj => {
return {
name: obj[0], option_id: obj[1]};
});
console.log(myObject);