2015-05-11 59 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?我能怎麼做 ?我怎麼能得到上述結果。

編輯:

亞歷Alksne評論:

靜態分配的代碼工作正常。

但是,如果我們動態地分配一個值意味着它不工作。

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

[{ 「名稱」: 「巴賈傑200毫米的Ultima PT01個人範」, 「圖像」: 「/圖片/ T/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

我明白你的意思了;確保在使用'delete'之前不要運行'var myObjectString = JSON.stringify(data);''。 '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值不存在...我如何從這裏識別PRICE值....我聲稱var myObjectString; myObjectString = [{ 「名稱」: 「巴賈傑200毫米的Ultima PT01個人範」, 「圖像」: 「/images/T/xctmpQmkaHM.png」, 「totalPrice」:999, 「ITEMPRICE」:999, 「itemCount」:1 }] –

+0

我已更新我的示例,讓我知道它是否有意義。 –

+0

請檢查我更新的問題...靜態意味着它正在工作...動態分配值意味着它不工作。 –

0

嘗試 「刪除」 爲..

delete PRICE[0].image;