用值“ N / A”替换字符串中的空白-Javascript

时间:2020-11-03 23:44:38

标签: javascript arrays

我想将具有任何空格的字符串替换为值“ 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 个答案:

答案 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);