我試圖在 JavaScript 的數字串列中選擇特定型別的數字。aConsole.log(vars)輸出下面的數字串列。我需要選擇具有 0.000 格式的數字,這意味著小數點前至少有一個數字,小數點后至少有三個數字。
(66) ['47,416.00', '0.001', '08:17:36', '47,416.00', '0.005', '08:17:36', '47,416.00', '0.088', '08:17:36', '47,416.00', '0.003', '08:17:35', '47,416.00', '0.214', '08:17:33', '47,416.00', '0.005', '08:17:33', '47,416.00', '0.008', '08:17:33', '47,416.00', '0.005', '08:17:33', '47,416.00', '0.010', '08:17:33', '47,416.00', '0.758', '08:17:33', '47,416.00', '', '0.134', '08:17:33', '47,416.50', '', '0.004', '08:17:33', '47,416.00', '0.018', '08:17:31', '47,416.00', '0.171', '08:17:30', '47,416.00', '0.034', '08:17:28', '47,416.00', '', '0.010', '08:17:28', '47,416.50', '0.003', '08:17:28', '47,416.50', '1.000', '08:17:28', '47,416.50', '0.011', '08:17:28', '47,416.50', '0.001', '08:17:25', '47,416.50', '0.005', '08:17:25']
我嘗試了一個正則運算式,你可以在下面的代碼中看到它,但正則運算式只回傳true.
var tradescards = [];
let regex = /\d\.\d\d\d/;
function obser1() {
const trades = document.querySelector("#root > main > div.main-left > div.react-grid-layout > div:nth-child(3) > div > div.by-card__body > div > div");
const vars = [...trades.querySelectorAll("span")].map(span => span.textContent);
const observer = new MutationObserver(function (mutations) {
mutations.forEach(function (mutation) {
if (mutation.addedNodes.length) {
console.log(regex.test(vars));
}
})
});
observer.observe(trades, {
childList: true,
subtree: true,
attributes: true,
characterData: true
})
}
window.setTimeout(obser1, 1900);
uj5u.com熱心網友回復:
arr.filter(e => /\d.*\.\d\d\d\b/g.test(e))
你正在尋找這樣的東西。
有一篇文章解釋了 Regex 的作業原理。
正則運算式匹配 - 通配符然后一位小數
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/398898.html
