gpt4 book ai didi

javascript - 获取 Javascript 集合中项目的索引

转载 作者:数据小太阳 更新时间:2023-10-29 05:05:11 24 4
gpt4 key购买 nike

我很难找到这个问题的答案,但我想以前有人问过它......

如果我将三个项目添加到 Set:

var s = new Set();
undefined
s.add(1); s.add(2); s.add(3);
Set(3) {1, 2, 3}

...如何找到项目的索引?

Set 没有indexOf 方法,我不确定遍历 Set 是否是最好的方法。我试过使用 forEach API,但既不能从这个函数中break 也不能return:

  if (s.size < cells.length) {
var count = 0;
s.forEach(function (value) {
if (cell.id.slice(0, -5) == value) {
break; //return fails here too...
}
count ++;
});
return count;
}

最佳答案

Sets 的目的与其说是给出一个订单号,而是如果你需要一个,实用的解决方案是暂时将它变成一个带有spread syntax 的数组。 :

count = [...s].indexOf(cell.id.slice(0, -5));

如果出于某种原因你更喜欢循环,那么使用 some 而不是 forEach:

[...s].some(function (value) {
if (cell.id.slice(0, -5) == value) {
return true; // this will stop the iteration
}
count ++;
});

或者为什么不使用 ES6 for of 循环:

for (const value of s) {
if (cell.id.slice(0, -5) == value) {
break; // this will stop the iteration
}
count ++;
}

注意:虽然不鼓励将旧式 for ... in 循环用于数组,但这不适用于 for ... of 循环。

关于javascript - 获取 Javascript 集合中项目的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44639780/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com