如何用“-”替换数组中所有未定义的值?
How to replace all undefined values in an array with "-"?
我有一个像这样的数组:
var array = [1, 2, undefined, undefined, 7, undefined]
并且需要将所有 undefined
值替换为 "-"
。结果应该是:
var resultArray = [1, 2, "-", "-", 7, "-"]
我认为有一个简单的解决方案,但我找不到。
您可以使用 Array.map
var array = [1, 2, undefined, undefined, 7, undefined];
var newArray = array.map(x => x !== undefined ? x : "-");
console.log(newArray);
您可以检查 undefined
并取 '-'
,否则检查值并使用 Array#map
获取新数组。
var array = [1, 2, undefined, undefined, 7, undefined],
result = array.map(v => v === undefined ? '-' : v);
console.log(result);
对于稀疏数组,您需要遍历所有索引并检查值。
var array = [1, 2, , , 7, ,],
result = Array.from(array, v => v === undefined ? '-' : v);
console.log(result);
您可以 map
值和 return -
如果未定义。
let array = [1, 2, undefined, undefined, 7, undefined]
let result = array.map(o => o !== undefined ? o : '-');
console.log(result);
var newArray = array.map(function(val) {
if (typeof val === 'undefined') {
return '-';
}
return val;
});
使用Array.map()
var array = [1, 2, undefined, undefined, 7, undefined];
console.log(array);
var newArray = array.map(function(v) {
return undefined === v ? '-' : v;
});
console.log(newArray);
试试这个 -
array.forEach(function(part,index,Arr){ if(!Arr[index])Arr[index]='-'})
可以使用函数式编程映射函数:
let array = [1, 2, undefined, undefined, 7, undefined];
let array2 = array.map(e => e === undefined ? e='-' : e);
尝试:
while((index = array.indexOf(undefined)) > -1){array[index] = "-";}
"-"
这将搜索您要搜索的值的索引,并将其替换为“-”
function SampleArray() {
var Array = [];
var array = [1, 2, undefined, undefined, 7, undefined];
for (var i = 0; array.length > i; i++) {
var Value;
if (array[i] == undefined) {
Value = '-';
} else {
Value = array[i];
}
Array.push(Value);
}
}
我有一个像这样的数组:
var array = [1, 2, undefined, undefined, 7, undefined]
并且需要将所有 undefined
值替换为 "-"
。结果应该是:
var resultArray = [1, 2, "-", "-", 7, "-"]
我认为有一个简单的解决方案,但我找不到。
您可以使用 Array.map
var array = [1, 2, undefined, undefined, 7, undefined];
var newArray = array.map(x => x !== undefined ? x : "-");
console.log(newArray);
您可以检查 undefined
并取 '-'
,否则检查值并使用 Array#map
获取新数组。
var array = [1, 2, undefined, undefined, 7, undefined],
result = array.map(v => v === undefined ? '-' : v);
console.log(result);
对于稀疏数组,您需要遍历所有索引并检查值。
var array = [1, 2, , , 7, ,],
result = Array.from(array, v => v === undefined ? '-' : v);
console.log(result);
您可以 map
值和 return -
如果未定义。
let array = [1, 2, undefined, undefined, 7, undefined]
let result = array.map(o => o !== undefined ? o : '-');
console.log(result);
var newArray = array.map(function(val) {
if (typeof val === 'undefined') {
return '-';
}
return val;
});
使用Array.map()
var array = [1, 2, undefined, undefined, 7, undefined];
console.log(array);
var newArray = array.map(function(v) {
return undefined === v ? '-' : v;
});
console.log(newArray);
试试这个 -
array.forEach(function(part,index,Arr){ if(!Arr[index])Arr[index]='-'})
可以使用函数式编程映射函数:
let array = [1, 2, undefined, undefined, 7, undefined];
let array2 = array.map(e => e === undefined ? e='-' : e);
尝试:
while((index = array.indexOf(undefined)) > -1){array[index] = "-";}
"-"
这将搜索您要搜索的值的索引,并将其替换为“-”
function SampleArray() {
var Array = [];
var array = [1, 2, undefined, undefined, 7, undefined];
for (var i = 0; array.length > i; i++) {
var Value;
if (array[i] == undefined) {
Value = '-';
} else {
Value = array[i];
}
Array.push(Value);
}
}