我想将具有任何空格的字符串替换为值“ 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"
但是我不太熟悉正则表达式,因此无法做到这一点。
知道如何实现这一目标吗?
答案 0 :(得分:2)
不要使用正则表达式,而应使用.map
:
var array= ["value1", undefined, "value3"];
const newArr = array.map(item => item === undefined ? 'N/A' : item);
console.log(newArr);
答案 1 :(得分:1)
不要使用regexp,可以使用map或自己的实现,在这种情况下,请使用:
for(let it in array) if(array[it] == undefined || array[it] == "") array[it] = "N/A";
答案 2 :(得分:0)
更好的方法是使用Array.prototype.forEach而不是map,因为替换发生在原处。
var array = ["value1", undefined, "value3"];
array.forEach((element, index) => {
if (element === undefined) {
array[index] = "N/A";
}
});
console.log(array);