的指標。如果我有一個數組這樣:使用數組中對象的孩子的值來獲得所述物體
var maskedlist = [
{id:-1,name:'*****選'},
{id:0,name:'*****(3天)'},
{id:1,name:'*****'},
{id:3,name:'*****'},
{id:2,name:'*****列'},
{id:4,name:'*****系列'},
{id:5,name:'*****系列'},
{id:6,name:'*****系列'},
{id:7,name:'*****系列'},
{id:8,name:'*****'},
{id:9,name:'*****系列'},
{id:10,name:'*****鋪系列'},
{id:12,name:'*****列'},
{id:11,name:'*****系列'},
{id:13,name:'*****系列'},
{id:14,name:'*****'},
{id:15,name:'*****列'},
{id:100,name:'*****部測試號'},
{id:200,name:'*****廳體驗版'},
{id:201,name:'*****'},
{id:202,name:'*****單店系列'},
{id:203,name:'*****多店系列'},
{id:16,name:'*****系列'},
{id:17,name:'*****系列'},
{id:204,name:'*****代運營套餐'},
{id:205,name:'*****活動運營'},
{id:206,name:'*****內容運營'},
{id:207,name:'*****商戶運營'},
{id:208,name:'*****外賣系列'}
]
我將有一個變量incoming_id
將可能匹配一個obj的孩子id的值,假設它是205
。
所以在下面的新的OBJ:
var entity = {
selected: maskedlist[index]
}
現在我將如何能夠得到incoming_id
index
?
很明顯,我可以使用循環是這樣的:
for (i = 0; i < maskedlist.length; i++) {
maskedlist[i].id == incoming_id && index = i
}
不會覺得很優雅壽,如果我有一個列表足夠長那可真慢,可能會隨時崩潰的瀏覽器時間。
這並不是高性能,因爲Array.prototype.filter()會去數組的末尾'maskedlist'即使已經發現了'obj.id' –