【发布时间】:2014-04-30 18:54:36
【问题描述】:
使用 jquery,我将如何查找 JSON 对象的索引。
以下是创建的内容:
[{"itemid":3,"itemName":"这里有一些文字","itemPrice":"£2.40"},{"itemid":3,"itemName":"这里有一些文字","itemPrice ":"£2.40"},{"itemid":2,"itemName":"这里有一些文字","itemPrice":"£2.40"}]
这是它在控制台中的翻译方式:
[对象,对象,对象] 0:对象 itemName: "这里有一些文字" 商品价格:“2.40 英镑” 物品编号:3 __proto__: 对象 1:对象 itemName: "这里有一些文字" 商品价格:“2.40 英镑” 物品编号:3 __proto__: 对象 2:对象 itemName: "这里有一些文字" 商品价格:“2.40 英镑” 物品编号:2 __proto__: 对象 长度:3 __proto__: 数组[0]如果我想通过搜索 itemid 作为要查找的值来查看字符串,然后返回并使用 splice 从字符串中删除它,代码会是什么样子。我不断收到奇怪的错误。
这是我的代码:
这将创建 json 字符串: var item = {"itemid" : itemId, "itemName" : itemName, "itemPrice" : itemPrice};
cOrder.push(item);
localStorage.setItem('cOrder', JSON.stringify(cOrder));
在这里我搜索字符串以获取要删除的正确元素:
var itemid = ($(this).text());
console.log(cOrder);
$.each(cOrder, function(key, value) {
if(value.itemid == itemid) {
// Here i need to get the index of the object //
console.log(Object.keys(cOrder).indexOf(this));
}
});
以上述为例。如果我想删除 itemid 3,我需要删除对象索引 1 (1 : Object)
如何获取索引 1,然后将其从字符串中删除?
提前致谢
【问题讨论】:
-
var itemid = ($(this).text());不是把itemid变成一个字符串吗?使用if(value.itemid == itemid) {,您正在将整数与字符串进行比较? JavaScript 类型比较有时会让我失望... -
我不敢说实话。当我查找 itemid 时,它会触发一个真正的 IF 语句。