我的for循环看起来像这样,
var myObj = data.response.carTypes;
for (var key in myObj) {
if (myObj.hasOwnProperty(key)) {
console.log(myObj[key]);
}}
控制台上的输出如下所示,
car1
car2
car3
我想转换这样的数据,
$scope.myArray = [{"cars":car1}, {"cars":car2}, {"cars":car3}]
如何在javascript中以这种方式转换?
答案 0 :(得分:0)
您可以使用var json = JSON.stringify(jsObject)
和var jsObject = JSON.parse("json string")
答案 1 :(得分:0)
只需迭代对象并将其推入数组:
var myObj = data.response.carTypes;
var myArr = [];
for (var key in myObj) {
if (myObj.hasOwnProperty(key)) {
myArr.push(myObj[key]);
}
}
console.log(myArr);
答案 2 :(得分:0)
您可以使用var myJsonArray = JSON.stringify(myArray)
将数组转换为JSON。
如果您在旧版浏览器中进行此转换,则可以使用script。
为了从您创建的JSON中获取数组,您可以使用:
var myArray = JSON.parse(myJsonArray)
另外,请记住,当您对JSON中的多个对象使用相同的密钥时,the last key with the same name is the one that is going to be used。
答案 3 :(得分:0)
这里你必须使用javascript对象。 说
$scope.myArray = [];
var carlist.cars="";
var carlist={};
carlist是汽车是财产的对象 然后你可以尝试这种方式:
var myObj = data.response.carTypes;
for (var key in myObj) {
if (myObj.hasOwnProperty(key)) {
carlist.cars=myObj[key];
myArray.push(carlist);
console.log(myArray);
}}
答案 4 :(得分:0)
您只需创建一个新数组并在每次迭代中将新对象推送到它:
$scope.myArray = [];
for (var key in myObj) {
if (myObj.hasOwnProperty(key)) {
$scope.myArray.push({cars:myObj[key]});
}
};
<强>演示:强>
var myObj = {
a: "Car1",
b: "Car2",
c: "Car3"
};
var carsArray = [];
for (var key in myObj) {
if (myObj.hasOwnProperty(key)) {
carsArray.push({cars:myObj[key]});
}
};
console.log(carsArray);
&#13;