Javascript 您要查找的对象作为哈希映射的性能特征(即@RobM的答案),。或者使用ES6Map(我的答案)。我正在寻找一个不循环数组的答案。我只是在一开始略过了你的答案,使用一个对象完全轻松地覆盖了你的实现,以避免循环。唯一的答案是“根据您的需求使用适当的数据结构”@
Javascript 您要查找的对象作为哈希映射的性能特征(即@RobM的答案),。或者使用ES6Map(我的答案)。我正在寻找一个不循环数组的答案。我只是在一开始略过了你的答案,使用一个对象完全轻松地覆盖了你的实现,以避免循环。唯一的答案是“根据您的需求使用适当的数据结构”@,javascript,arrays,Javascript,Arrays,您要查找的对象作为哈希映射的性能特征(即@RobM的答案),。或者使用ES6Map(我的答案)。我正在寻找一个不循环数组的答案。我只是在一开始略过了你的答案,使用一个对象完全轻松地覆盖了你的实现,以避免循环。唯一的答案是“根据您的需求使用适当的数据结构”@jdpenix,您认为什么样的数据结构最适合这样做?地图。JavaScript的实现具有您正在寻找的作为hashmaps的对象的性能特征(即@RobM的答案),。或者使用ES6地图(我的答案)。是的,这就是我要找的。谢谢你试着把这个放在猫鼬的图
您要查找的对象作为哈希映射的性能特征(即@RobM的答案),。或者使用ES6
Map
(我的答案)。我正在寻找一个不循环数组的答案。我只是在一开始略过了你的答案,使用一个对象完全轻松地覆盖了你的实现,以避免循环。唯一的答案是“根据您的需求使用适当的数据结构”@jdpenix,您认为什么样的数据结构最适合这样做?地图。JavaScript的实现具有您正在寻找的作为hashmaps的对象的性能特征(即@RobM的答案),。或者使用ES6地图(我的答案)。是的,这就是我要找的。谢谢你试着把这个放在猫鼬的图案上,这就是我要找的。Thanksgonna试着把这个放在猫鼬的模式上
var array = [{
id : String,
price : Number,
someOtherVars : String
}]
var element = {
id : "00dks",//this is a unic value
price : 12,
someOtherVars : "some value"
}
var element2 = {
id : "a43sdk",
price : 30,
someOtherVars : "some value"
}
var element3 = {
id : "0as0d",
price : 122,
someOtherVars : "some value"
}
array.push(element);
array.push(element2);
array.push(element3);
const index = array.findIndex(a => a.id === id);
if (index !== -1) {
array.splice(index, 1);
}
const map = {};
map[element1.id] = element1;
map[element2.id] = element2;
map[element3.id] = element3;
const element = map[whateverId];
delete map[whateverId];
for (var key in map) {
var value = map[key];
// do some stuff
}
var asObject = array.reduce(function(obj, cur) {
obj[cur.id] = cur;
return obj;
}, {});
console.log(asObject["0as0d"]);
// to remove this item:
delete asObject["0as0d"];