将section id name添加到数组中仅一次
Add section id name to array only once
在页面上我有这些部分:
<section id="questions-688">
</section>
<section id="test">
</section>
<section id="stats-688">
</section>
<section id="answerswers-636">
</section>
<section id="someDiv">
</section>
我想用这些数字创建一个数组:[688,636]。因此,当section的id以问题或答案或统计数据开始时,我想将属于此id的数字添加到数组中,但只有一次。我如何通过javascript做到这一点?
这是一个创建数组[688,688,636]的函数,但我需要[688,636]。
var selector = 'section[id^=stats-],section[id^=answers-],section[id^=questions-]';
segments = Array.prototype.map.call(document.querySelectorAll(selector), function (section) {
return section.id.split('-')[1]|0;
});
我该怎么做?
使用indexOf方法的简单for循环可以帮助您:
var sections = document.querySelectorAll('section[id^=stats-],section[id^=answers-],section[id^=questions-]'),
segments = [];
for (var i = 0; i < sections.length; i++) {
var split = sections[i].id.split('-');
if (segments.indexOf(split[1]) == -1) {
segments.push(split[1]);
}
}
http://jsfiddle.net/6Fj6Z/数组方法indexOf将返回该元素存在时找到的第一个索引,否则返回-1,否则返回该元素不存在。
var someArray = [688, 636];
if(!someArray.indexOf(688)) {
someArray.push(688);
}
相关文章:
- 第一个字第一个字符第二个字第二个字符,一直到数组结束
- jQuery对象从html表中查询为两个一维数组,用于Chartist图表
- 如何在Java Script中比较二维数组和一维数组,并将常见数据存储在另一个数组中
- 如何在javascript中使用2个一维数组创建层次结构树
- PHP json_encode不适用于一维数组
- 如何在一维数组中存储 3 个随机数,然后在 Javascript 中收到警报
- 将字符串的一维数组转换为二维数组
- Javascript使用map从一维数组创建一个二维数组
- PHP 循环通过多维到一维数组
- 使用JavaScript将对象的多维数组转换为一维数组
- 用一维数组过滤多维数组
- mongoose.js:我如何从引用的子数组中删除一个属性,同时使用填充和使用其中一个子数组字段作为过滤器
- 使用Angulajs在嵌套数组中动态添加一个子数组
- 在JS中根据需要的组大小将一维数组转换为多维数组的更好方法
- 我的Javascript for循环工作在除了一个子数组以外的所有子数组上
- 如何在JavaScript中将2个一维数组连接成1个二维数组
- 如何将深度多维数组转换为一维数组-Javascript
- 使用JavaScript将一维数组转换为二维数组
- D3.js:通过 d3 加载平面一维数组.csv导致“类型错误:组数据未定义”/使用 D3.js 加载多个 CSV 文件
- 如何使用一维数组形成 JSON 数组