这是我的数据结构:
var data = [
{ id: '1924', info: 'boo' },
{ id: '1967', info: 'foo' }
];
id 值应该是唯一的,但信息可能不是唯一的。仅当新数据的 ID 是唯一的时,我如何将新数据添加到数据哈希中?
遍历整个哈希并查看是否已经存在这样的 id 的唯一方法是什么?
data.push({ id: '1967', info: 'goo-goo' }); //should not be added
data.push({ id: '1963', info: 'goo-goo' }); //should be added
最佳答案
如果可以更改数据结构,则可以用更少的代码完成:
var data = {
'1924': {'info': 'goo-goo'},
'1967': {'info': 'boo-boo'}
};
function add(obj, id, data) {
if (obj[id] === undefined) { // if you have fear about the prototype chain being poisoned
// add in a hasOwnProperty
obj[id] = data;
}
}
这还有一个好处是可以更快地访问(如果您有 ID)。
关于javascript - 仅在尚未到位时添加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4577407/