在Map JS中应用正则表达式



我正在尝试将正则表达式应用于。map函数,我真的不明白。

  1. 我需要把我的正则表达式应用到哪里
  2. 如何应用

谢谢你的帮助。

的正则表达式:(& lt; = ^ [ s" '] *) ( w +)我想在map函数中的每个字符串上应用

const stocks = require('./csvjson.json');
const { averageData } = require('./returnBool/averageData');
const getNamesStock = () => {
const arrayValues = stocks.map((item) => item.Name);
console.log(arrayValues);
};
getNamesStock();
exports.getNamesStock = getNamesStock;

我在这里戳一点黑暗,因为我不知道股票变量的格式。它看起来像是一个对象数组,其中每个对象都有一个名为"name"的属性。还有项目的例子是什么?名称,您想在哪里应用正则表达式(?<=^[s"']*)(w+)?有哪些期望结果的例子?此外,它看起来像是Node.js,而不是基于浏览器的JavaScript。

假设'./csvjson.json'是一个JSON文件,你的代码与.map()将不能工作,因为JSON是一个字符串。首先需要将JSON文本转换为JavaScript对象,然后可以通过其项进行映射:

try {
let arrayStocks = JSON.parse(stocks);
let arrayValues = stocks.map((item) => {
return item.Name;
});
console.log(arrayValues);
} catch(e) {
console.log(e); // or other parse error handling
}

这个映射将返回一个字符串数组,其中每个字符串映射到item.Name.

现在进入(?<=^[s"']*)(w+)正则表达式。我不能说。我首先需要看到一些示例名称,以及应用正则表达式后所需的相同输出,例如替换:

let arrayValues = stocks.map((item) => {
return item.Name.replace(/(?<=^[s"']*)(w+)/, '$1');
});

最新更新