如何从多个数组中取值?及获取指定class元素的目标innerText
问题解答
1. 如何从多个数组中获取其中一个值?
可以通过遍历数组集合结合条件判断定位目标值,以下是几种常用实现方式:
- 遍历筛选:循环所有数组,检查每个数组内的元素,匹配到目标值后返回
const arrays = [[1,2,3], [4,5,6], [7,8,9]]; const target = 5; let result; for (const arr of arrays) { const found = arr.find(item => item === target); if (found) { result = found; break; } } console.log(result); // 输出5 - 扁平化后查找:先将多个数组合并为一个数组,再直接查找目标值
const arrays = [[1,2,3], [4,5,6], [7,8,9]]; const target = 5; const result = arrays.flat().find(item => item === target); console.log(result); // 输出5
2. 获取特定innerText的目标元素
针对class为text-muted text-right的元素,筛选出innerText为22/11/2022 17:35:41的元素,可使用以下方法:
- JavaScript遍历筛选:
// 获取所有匹配class的元素 const elements = document.querySelectorAll('.text-muted.text-right'); // 去除首尾空格后匹配,避免格式问题导致失败 const targetElement = Array.from(elements).find(el => el.innerText.trim() === '22/11/2022 17:35:41'); if (targetElement) { const targetValue = targetElement.innerText; console.log(targetValue); } - XPath精准定位:
const xpath = "//*[@class='text-muted text-right' and text()='22/11/2022 17:35:41']"; const targetElement = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; if (targetElement) { console.log(targetElement.innerText); }
提示:如果元素文本存在隐藏空格或换行,必须用
trim()处理后再匹配,避免因格式差异导致匹配失败。
内容的提问来源于stack exchange,提问作者miraç reisoğlu
相关产品推荐
相关产品推荐

