将labels
HTML 集合减少到仅那些textContext
属性值与text_criteria
数组中的任何字符串匹配的元素的最优雅方法是什么?
var labels = document.getElementsByClassName('some-class-name')
var textContent_criteria = ['Description', 'Category', 'Department', 'Justification']
我可以用多个 for 循环来做到这一点,但更喜欢受函数式编程启发的解决方案。
您可以使用.call
以下Array.prototoype.filter
功能:
var labels = document.getElementsByClassName('some-class-name');
var textContent_criteria = ['Description', 'Category', 'Department', 'Justification'];
var matchingLabels = Array.prototype.filter.call(
labels,
({ textContent }) => textContent_criteria.includes(textContent)
);
console.log(matchingLabels);
<div class="some-class-name">Description</div>
<div class="some-class-name">Bad Description</div>
<div class="some-class-name">Category</div>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句