У меня есть объект JavaScript:Как удалить элемент из вложенного объекта с заданной строкой?
var obj = $scope.items[0]; //$scope.items is a plain object
console.log(typeof obj) //object
Теперь после этого я сделать некоторые рекурсии и получить путь (цепь свойств), которые присоединяются к «OBJ», который кодируется в виде строки и выглядит следующим образом :
str = ".child.splice(" + item_index + ",1)"; //item_index is an integer
Я хочу применить это к объекту. Я попытался это так:
var objToDelete = obj += str
console.log(typeof objToDelete) //string
Я пытаюсь удалить элемент в простой объект, и он работает, если я жестко закодировать это так:
delete $scope.items[0].child.splice(1,1);
То, что я на самом деле хочу использование:
delete objToDelete; // *doesn't work*
Однако это не удается, так как тип objToDelete является строкой.
Как сохранить объект objToDelete как объект и заставить его работать?
* «Привет, ребята» * ... почему вы исключаете среди нас дам? Достаточно оснований для понижения imo. – trincot
Сбор строки, которая действительно является частичным кодом JavaScript, не кажется хорошей идеей, так как вам придется вернуться к 'eval'. Возможно, вы могли бы поделиться кодом, который у вас есть, который генерирует эту строку. Вероятно, эта часть кода должна быть пересмотрена. – trincot
@trincot Какая причина для downvote! Ценить это. Хотелось бы, чтобы вы больше сосредоточились на вопросе. В любом случае, нет никакой проблемы с генерируемой строкой. Предположим, что это «.child.splice (1,1)». Я не мог придумать какой-либо другой подход, а также имею дело со сложным вложенным JSON. – sharathChandra