[英]JavaScript Object to Array of Objects with 'name' key
Here my initial object :这是我的初始对象:
partners {
0: "Proxy"
2: "Skate"
8: "Air"
}
I want to have this :我想要这个:
partners [
0:{name: "Proxy"}
1:{name: "Skate"}
2:{name: "Air"}
]
I tried this without success :我试过这个没有成功:
var newArray = Object.values(this.initialObject).map(function (value) {
return { ['name']: obj[value] };
});
Thank you very much.非常感谢。
name
does not need to be wrapped in [' ']
as it is a key nor do you need to use obj
to get the value as value
is the variable passed by the function. name
不需要包含在[' ']
因为它是一个键,也不需要使用obj
来获取值,因为value
是函数传递的变量。
Try this instead:试试这个:
var partners = { 0: "Proxy", 2: "Skate", 8: "Air" } var newArray = Object.values(partners).map(function (value) { return {name: value}; }); console.log(newArray)
const a = { 0: "Proxy", 2: "Skate", 8: "Air" } const result = Object.values(a).map((value) => { return { name: value }; }); console.log(result)
This will do it, you had to replace the obj[value] with value and replace ['name'] with simple name.这将做到这一点,您必须将 obj[value] 替换为 value,并将 ['name'] 替换为简单的名称。
partners ={
0: "Proxy"
2: "Skate"
8: "Air"
}
var newpartners=[];
Object.keys(partners).map(item=>{
newpartners.push({name:partners[item]})
})
console.log(newpartners);
Yo can use the following methods code您可以使用以下方法代码
var partners = { 0: "Proxy", 2: "Skate", 8: "Air" } var arr = []; var keys = Object.keys(partners); var values = Object.values(partners); keys.forEach((ele, indx) => { arr.push({ "name": values[indx] }); }) console.log(arr);
var partners = { 0: "Proxy", 2: "Skate", 8: "Air" } var newArray = Object.values(partners).map(function (value) { return { name : value }; }); console.log(newArray);
You can try something like this, just using an array as a container for the final desired output, and loop over the original object with for ... in
loop.您可以尝试这样的操作,只需使用数组作为最终所需输出的容器,并使用for ... in
循环遍历原始对象。 Hope this helps.希望这可以帮助。 :) :)
var p = {
"0": "Proxy",
"2": "Skate",
"8": "Air"
}
var a = [];
for(var key in p){
if (p.hasOwnProperty(key)) {
a.push({name: p[key]})
}
}
console.log(a)
Another way to loop through an object is to use Object.entries
method, This method return an array of arrays, each array contain the key and the value另一种遍历对象的方法是使用Object.entries
方法,该方法返回一个数组数组,每个数组包含键和值
const fruits = {
apple: 28,
orange: 17,
pear: 54,
}
const entries = Object.entries(fruits)
console.log(entries)
// [
// [apple, 28],
// [orange, 17],
// [pear, 54]
// ]
So, in your case you can try something like this :所以,在你的情况下,你可以尝试这样的事情:
const entries = Object.entries(p);
var a = [];
for (const [key, value] of entries) {
a.push({name: value})
}
您应该使用处理程序中的参数name
。
Object.values(this.initialObject).map(name => ({name}));
Try This :尝试这个 :
var tempPartners=[];
for (x in partners) {
var obj=JSON.parse(`{"name":"`+partners[x]+`"}`);
tempPartners.push(obj);
}
console.log(tempPartners);
The output will be like输出将像
0: {name: "Proxy"}
1: {name: "Skate"}
2: {name: "Air"}
You can do something like this你可以做这样的事情
var partners = {"Proxy", "Skate","Air" };
var newArray = [];
for(var i = 0; i<=partners.length; i++){
newArray.push({Name: element[i]});
}
console.log(newArray);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.