2014-10-20 4 views
0

Извините, мой английский немного плохой. Я хочу удалить последний объект. Я так старался. Надеюсь, я мог бы сказать.Удалить последний ребенок Json Вложенный объект

Тест: http://jsfiddle.net/Rizasoylu/hnLadq9v/

Мой запрос удалить obj3.

var oArray = ["obj1","obj2","obj3"]; 
var AccessObject = {}; 
oArray.reduce(function (o, s) { return o[s] = {}; }, AccessObject); 


var AccessObject = {}, o = AccessObject; 

for (var i = 0; i < oArray.length; i++) 
{ 
    o = o[oArray[i]] = {}; 
} 
alert(JSON.stringify(AccessObject)); 
var lastKey = Object.keys(AccessObject).sort().reverse()[0]; 
delete o[lastKey]; 

ответ

0

Решено.

for (var i = 0; i < oArray.length; i++) { 
    if (i == oArray.length - 1) { 
     o = o[oArray[i]] = genericObject; 
    } else { 
     o = o[oArray[i]] = {}; 
    } 
} 
0

Попробуйте сплайс-метод. Используя этот метод javascript, вы можете удалить элемент. Первый параметр определяет позицию, и вы можете указать, сколько элементов вы хотите удалить в качестве второго аргумента

var oArray = ["obj1","obj2","obj3"]; 
oArray .splice(2,1); 
alert(JSON.stringify(oArray)); 
Смежные вопросы