我正在为自己的网页写一些JS。
我已经使用node_modules
然后使用document.querySelectorAll
查询了div列表
(https://developer.mozilla.org/en-US/docs/Web/API/NodeList/forEach)
但是我想知道我的代码会顺序运行-即我的NodeList.forEach
中的回调将某些项目推入数组。
我可以确定下一步是仅在forEach遍历每个元素之后才会发生吗?
NodeList.forEach
那么,在我制作“花式字符串”的最后一点上,该行是否总是出现在forEach之后?
谢谢。
答案 0 :(得分:1)
我可以确定下一步是仅在forEach遍历每个元素之后才会发生吗?
是的。 NodeList#forEach
是同步操作。
旁注:您可以使用Array.prototype.map
:
selectedTagsArray = Array.prototype.map.call(selectedTags, function(currentValue) {
return currentValue.attributes.value.value;
});
或在ES2015 +中:
selectedTagsArray = Array.from(selectedTags).map(function(currentValue) {
return currentValue.attributes.value.value;
});
或:
selectedTagsArray = [...selectedTags].map(function(currentValue) {
return currentValue.attributes.value.value;
});
旁注2:如果您想要input
的当前值,则它不是属性;使用value
属性代替:currentValue.value
,而不是currentValue.attributes.value.value
。