このオブジェクトには、オブジェクトの配列(「ページ」)が含まれています
var obj = {
"pages" : [
{
"title": "title one",
"sub" : [
{ "title" : "title one one"},
{ "title" : "title one two"}
]
},
{ "title" : "title two" },
{
"title" : "title three",
"sub" : [
{ "title" : "title three one"},
{ "title" : "title three two"},
{ "title" : "title three three"}
]
}
]
}
このような期待される結果 (「ページ」の各オブジェクトに「スラッグ」要素を追加)
{
"pages" : [
{
"title" : "title one",
"slug" : "title-one",
"sub" : [
{
"title" : "title one one",
"slug" : "title-one-one"
},
{
"title" : "title one two",
"slug" : "title-one-two"
}
]
},
{
"title" : "title two",
"slug" : "title-two"
},
{
"title" : "title three",
"slug" : "title-three",
"sub" : [
{
"title" : "title three one",
"slug" : "title-three-one"
},
{
"title" : "title three two",
"slug" : "title-three-two"
},
{
"title" : "title three three",
"slug" : "title-three-three"
}
]
}
]
}
私はそれのようにすることができると思います
function add_slug(array_of_obj)
{
for (var item in array_of_obj) {
//i am not sure about this:
item.slug = item.title.replace(/ /g, '-');
if(typeof item.sub !== undefined) {
add_slug(item.sub);
}
}
}
add_slug(obj.pages);
しかしundefined item.title
、関数を変更し続けていますが、まだ機能していないので、助けが必要です。ありがとう。