我有一个包含这些数据的数组:
[
{
user1post2: {
ad:"Car", ac:39500, af:"4", ah:"klgjoirt3904d", ab:"Acura",
ae:"2013 ACURA MDX 3.5L V6 AWD 6AT (294 HP)", ag:"Mint", aa:"Option2"
},
user1post1: {
ad:"Truck", ac:6799, af:"3", ah:"ldkfldfjljKey", ab:"GMC",
ae:"1/2 Ton with plow", ag:"Mint Looks", aa:"Option1"
}
}
]
我需要删除user1post2
和user1post1
。
我尝试过使用类似的东西,但它不起作用:
var valu2 = values; //put current array into new variable `valu2`
console.log(valu2.toSource()); //Log to console to verify variable
var finalData = []; //Create new array
for (var name2 in valu2) {
finalData.push(valu2[name2]);
};
console.log(finalData.toSource());
如何删除这些键值user1post2:
?
当我检查长度时,
console.log("length is:" + values.length);
它表示长度为1
,因此如果计数从零开始,那么这将是正确的。我可以设置一个从0迭代到i的for循环。
我不确定在数组中引用数据的语法或属性是什么。
答案 0 :(得分:3)
你有一个包含单个对象的数组。该对象的键是您想要的数组。所以:
var val = [{ /*... your data ...*/ }];
var out = [];
var myBigObject = val[0];
for (var i in myBigObject) {
if (myBigObject.hasOwnProperty(i)) {
out.push(myBigObject[i]);
}
}
console.log(out);
答案 1 :(得分:1)
这是你想要的吗?
values = [{
user1post2: {
ad: "Car",
ac: 39500,
af: "4",
ah: "klgjoirt3904d",
ab: "Acura",
ae: "2013 ACURA MDX 3.5L V6 AWD 6AT (294 HP)",
ag: "Mint",
aa: "Option2"
},
user1post1: {
ad: "Truck",
ac: 6799,
af: "3",
ah: "ldkfldfjljKey",
ab: "GMC",
ae: "1/2 Ton with plow",
ag: "Mint Looks",
aa: "Option1"
}
}]
out = [];
for(prop in values[0]) {
out.push(prop);
}
console.log(out);
或者您是否正在尝试迭代每个属性中的实际数据(例如,通过user1post2循环以获取值ad:“Car”等)?