Wop*_*pie 3 javascript data-structures
这是我的数据结构:
var data = [
{ id: '1924', info: 'boo' },
{ id: '1967', info: 'foo' }
];
Run Code Online (Sandbox Code Playgroud)
id值应该是唯一的,但信息可能不是唯一的.仅当新数据的ID是唯一的时,我才会如何将新数据添加到数据哈希中?
是迭代整个哈希的唯一方法,看看是否已经存在这样的id?
data.push({ id: '1967', info: 'goo-goo' }); //should not be added
data.push({ id: '1963', info: 'goo-goo' }); //should be added
Run Code Online (Sandbox Code Playgroud)
如果您可以更改数据结构,可以使用更少的代码完成:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
这样做的好处是访问速度要快得多(如果你有ID).