将字符串收集到forEach内部的单个数组中
Collect strings into single array inside forEach
如何将字符串结果收集到每个循环内部的单个数组中
<ul>
<li data-tag="two"></li>
<li data-tag="three"></li>
<li data-tag="four"></li>
<li data-tag="five"></li>
</ul>
<button id="ev">Click</button>
JavaScript:
var elem = Array.prototype.slice.call(document.querySelectorAll('ul > li'));
document.getElementById('ev').addEventListener('click', function(ev){
elem.forEach( function(el,i) {
var ar = ["one"];
var tags = el.getAttribute('data-tag');
ar.push(tags);
});
});
结果:
["one", "two"]
["one", "three"]
["one", "four"]
["one", "five"]
预期结果:
["one", "two", "three", "four", "five"]
在forEach
之前初始化arr
var elem = Array.prototype.slice.call(document.querySelectorAll('ul > li'));
document.getElementById('ev').addEventListener('click', function(ev) {
var ar = ["one"];
elem.forEach( function(el,i) {
var tags = el.getAttribute('data-tag');
ar.push(tags);
});
console.log(ar);
});
<ul>
<li data-tag="two"></li>
<li data-tag="three"></li>
<li data-tag="four"></li>
<li data-tag="five"></li>
</ul>
<button id="ev">Click</button>
问题是在forEach函数中声明ar
变量,该函数会覆盖值,而不是将它们推入数组。
var ar = ['one'];
elem.forEach( function(el,i) {
var tags = el.getAttribute('data-tag');
ar.push(tags);
});
相关文章:
- 在 laravel 4 上使用循环将数据数组存储到单个数组中
- 使用 lodash 是将数据从数组映射到单个数组的好方法
- 如何将链接附加到单个数组项
- 将培根流中的所有值合并到单个数组中
- 下划线模板,将列表添加到单个数组中
- 使用 JavaScript 将多个对象结果集的数组合并到单个数组中
- 如何旋转Javascript中表示为单个数组的4x8网格
- AngularJs过滤到单个数组元素并输出一个属性
- 将单个数组读取到存储中
- 根据id表将单个数组结果发送到打印机
- 将字符串收集到forEach内部的单个数组中
- 跟踪回调并将数据作为单个数组发送出去
- 使用lodash将重复对象合并到单个数组中
- 二维数组中单个数组的和
- 将多维数组转换为单个数组(Javascript)
- 从多个父元素中检索属性并将其存储到单个数组中
- 来自单个数组的目标对象值
- 通过单个数组递归记录javascript中所有可能的排列
- 使用javascript将单个数组转换为多维数组
- Javascript多维嵌套数组,在单个数组中排序