我想用值“N/A”替换具有任何空格的字符串。示例:我有一个数组;var array= ["value1", undefined, "value3"];var array2= ["value1", "value2", "value3"];var array3= ["value1", "value2", undefined];这是动态生成的数组,因此值可能不同。我有 3 个数组实例,其中填充了不同的值。现在我想undefined从数组中删除所有值并将其替换为“N/A”;首先我将数组转换为字符串,然后进行替换。array.toString().replace(/\:''/gi, "\:\"\""); outputs: "value1,,value3"; instead I want: "value1, N/A, value3"然而我不太熟悉正则表达式,因此我在这方面失败了。知道如何实现这一目标吗?
3 回答
SMILET
TA贡献1796条经验 获得超4个赞
不要使用正则表达式,.map而是使用:
var array= ["value1", undefined, "value3"];
const newArr = array.map(item => item === undefined ? 'N/A' : item);
console.log(newArr);
慕田峪9158850
TA贡献1794条经验 获得超7个赞
不要使用正则表达式,您可以使用映射或您自己的实现,本例使用:
for(let it in array) if(array[it] == undefined || array[it] == "") array[it] = "N/A";
郎朗坤
TA贡献1921条经验 获得超9个赞
更好的方法是使用Array.prototype.forEach而不是 map,因为替换发生在适当的位置。
var array = ["value1", undefined, "value3"];
array.forEach((element, index) => {
if (element === undefined) {
array[index] = "N/A";
}
});
console.log(array);
添加回答
举报
0/150
提交
取消