[英]return values from json object?
var Mydata =
{
"prop1":
[
{ "a": "parties", "b": "0.006" , "c": "0.9"},
{ "a": "royal-challenge", "b": "0.02" , "c": "0.333" },
{ "a": "star-speak","b": "0.02","c":"0.1" }
],
"prop2":
[
{ "a": "parties","b": "0.006" , "c": "0.9"},
{ "a": "star-speak","b": "0.02", "c": "0.009" }
],
"prop3":
[
{ "a": "parties","b": "0.006" , "c": "0.9"}
]
};
我的目標是像下面這樣返回a,b,c的值--->
parties,0.006,0.9
royal-challenge,0.02,0.333 and so on for all the properties.
我在迭代中遇到問題。
我正在做這樣的事情---:
for(var i in Mydata){
return i[a],i[b],i[c]
}
您可以使用for..in
循環來for..in
鍵,檢查數組,然后循環數組項。 像這樣嗎
var newArray = []; // store the results in a new array
for (key in Mydata) { // loop prop1, prop2 etc
if (Mydata[key].forEach) { // check for array
Mydata[key].forEach(function(item) { // loop array
newArray.push(item.a + ", " + item.b + ", " + item.c);
});
}
}
注意 : forEach
方法在較舊的瀏覽器(如ie8)中不可用,但很容易填充。 有關更多信息, 請訪問https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach
嘗試這個。
for(var index in Mydata){
var propArray = Mydata[index];
for(var i=0; i<propArray.length; i++){
var prop = propArray[i];
var opString = '';
for(var propIndex in prop){
opString +=prop[propIndex]+',';
}
console.log(opString.substr(0, opString.length-1))
}
}
for(var head in Mydata) {
for(var leave in Mydata[head]) {
document.write(Mydata[head][leave]['a']);
document.write(',');
document.write(Mydata[head][leave]['b']);
document.write(',');
document.write(Mydata[head][leave]['c']);
}
}
試試這個(它應該在所有瀏覽器中都可以使用),結果數組將包含所有可以迭代的對象
var result = [];
for (var key in Mydata) {
if (Mydata.hasOwnProperty(key)) {
for (var key2 in Mydata[key]) {
if (Mydata[key].hasOwnProperty(key2)) {
console.log(key2, Mydata[key][key2]);
result.push(Mydata[key][key2]);
}
}
}
}
result;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.