![](/img/trans.png)
[英]how to filter nested objects properties in javascript and print the new object
[英]Display nested objects properties in next (new) line
我有一組對象,其中有子對象(嵌套對象)。 整個結構看起來與此相似(所有子對象具有相同的標簽,只有值不同):
var arr = [
obj0 = {
subObj0: {
name: "John",
lastName: "Doe",
age: 50,
nick: "JD",
phone: 123456
},
subObj1: {
name: "Jane",
lastName: "Dee",
age: 30,
nick: "lady",
phone: 654098
},
subObj2: {
name: "Ash",
lastName: "Bash",
age: 33,
nick: "asdB",
phone: 987123
}
},
obj1 = {
subObj0: {
name: "Asd",
lastName: "Dsa",
age: 10,
nick: "none",
phone: 12
},
subObj1: {
name: "Ivy",
lastName: "Mash",
age: 3,
nick: "IvMash",
phone: 9823
}
}
];
我試圖像這樣在控制台中顯示這些子對象:
for (index in arr)
{
for (index2 in arr[index])
{
console.log(JSON.stringify(arr[index][index2],null,4));
}
}
,它為我提供了包含這些對象和子對象的樹的輸出。
當每個子對象都在換行符中時 , 如何在控制台中顯示它,如下所示?
因此,如果沒有逗號和雙引號,則只能使用“標簽:值”形式。
很少replace()
應該這樣做。 單擊運行按鈕以查看結果。
var arr = [ { subObj0: { name: "John", lastName: "Doe", age: 50, nick: "JD", phone: 123456 }, subObj1: { name: "Jane", lastName: "Dee", age: 30, nick: "lady", phone: 654098 }, subObj2: { name: "Ash", lastName: "Bash", age: 33, nick: "asdB", phone: 987123 } }, { subObj0: { name: "Asd", lastName: "Dsa", age: 10, nick: "none", phone: 12 }, subObj1: { name: "Ivy", lastName: "Mash", age: 3, nick: "IvMash", phone: 9823 } } ]; var output = []; arr.forEach(function (obj, i) { output.push('obj' + i + ':'); for (var key in obj) { var value = obj[key]; var str = JSON.stringify(value) .replace(/[{}"]/g, '') // remove {} and " .replace(/[,]/g, '\\t') // replace commas by tabulations .replace(/:/g, ': '); // add a nice space after : output.push(key + ': ' + str); } }) output = output.join('\\n'); console.log(output); document.write('<pre>' + output + '</pre>');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.