2015-05-11 2 views
2

Это мой JSON массив:Удалить элемент из массива в JavaScript титана

var myObjectString = JSON.stringify(data); 
Ti.API.info("PRICE" + " " + myObjectString); 

[{ 
    "name": "Bajaj 200 mm Ultima PT01 Personal Fan", 
    "image": "/images/T/xctmpQmkaHM.png", 
    "totalPrice": 999, 
    "itemPrice": 999, 
    "itemCount": 1 
}] 

Здесь я должен удалить элемент изображения (ключ + значение) и сохранить значение, как показано ниже:

[{ 
    "name": "Bajaj 200 mm Ultima PT01 Personal Fan", 
    "totalPrice": 999, 
    "itemPrice": 999, 
    "itemCount": 1 
}] 

Как я могу это сделать? Мне нужно сохранить этот результат в другом var? Как я могу сделать ? как я могу получить вышеуказанный результат.

EDIT:

От Alex Алксне комментарий:

статически присвоен код работает нормально.

Но если мы присваиваем значение, так как оно динамически означает, что оно не работает.

var myObjectString = JSON.stringify(data); 
console.log(myObjectString); 
delete myObjectString[0].image; 
console.log(myObjectString); 

[{ "Имя": "Баджадж 200 мм Ultima PT01 Персональный Вентилятор", "образ": "/ изображений/Т/xctmpQmkaHM.png", "totalPrice": 999, "itemPrice": 999, «itemCount»: 1}]

[{"name": "Bajaj 200 mm Ultima PT01 Personal Fan", "image": "/ images/T/xctmpQmkaHM.png", "totalPrice": 999, "itemPrice ": 999," itemCount ": 1}]

+0

Я понимаю, что вы имеете в виду сейчас, не запускайте 'var myObjectString = JSON.stringify (data);' перед использованием 'delete'. 'delete' работает только с объектами, а не с строками. Итак, сначала просто 'delete', а затем' stringify() '. –

ответ

2

Чтобы удалить как ключ, так и значение в объекте Javascript, вам необходимо использовать ключевое слово delete (просто назначение PRICE[0].image = undefined приведет только к удалению значения).

Так, например, если ваша структура данных выглядела так:

var myObject; 
myObject = 
[{ 
    "name": "Bajaj 200 mm Ultima PT01 Personal Fan", 
    "image": "/images/T/xctmpQmkaHM.png", 
    "totalPrice": 999, 
    "itemPrice": 999, 
    "itemCount": 1 
}] 

Вы бы удалить ключевое изображение пары/значение, написав: delete myObject[0].image. Теперь, если вы console.log(myObject), вы получите:

[{ 
    "name": "Bajaj 200 mm Ultima PT01 Personal Fan", 
    "totalPrice": 999, 
    "itemPrice": 999, 
    "itemCount": 1 
}] 

Что-то иметь в виду, это ключевое слово delete работает только на объекты, а не строк. Если ваши данные изначально были в форме строки, вам нужно JSON.parse(myObject), прежде чем вы сможете использовать delete. Например:

var myObjectString = 
'[{ 
    "name": "Bajaj 200 mm Ultima PT01 Personal Fan", 
    "image": "/images/T/xctmpQmkaHM.png", 
    "totalPrice": "999", 
    "itemPrice": "999", 
    "itemCount": "1" 
}]' 

var myObject = JSON.parse(myObjectString); 
delete myObject[0].image; 
+0

ЦЕНА значение не существует ... как я могу определить значение PRICE здесь .... i ahve объявила var myObjectString; myObjectString = [{ "Название": "Баджадж 200 мм Ultima PT01 Персональный Вентилятор", "образ": "/images/T/xctmpQmkaHM.png", "totalPrice": 999, "itemPrice": 999, «itemCount»: 1 }] –

+0

Я обновил свой пример, дайте мне знать, если это имеет смысл. –

+0

Пожалуйста, проверьте мой обновленный вопрос ... static означает, что он работает ... динамически присвоенное значение означает, что оно не работает. –

Смежные вопросы