将字符串连接到非空的数组的每个元素

时间:2017-12-14 15:12:34

标签: javascript arrays angularjs

我有一个这样的数组: ["name1", "name2", null, null, "name5", null]

我想这样做:

["name1 wow", "name2 wow", null, null, "name5 wow", null]

我试着这样做:

myCtrl.myArray.map(s => s + " wow");

似乎这不是正确的解决方案,任何想法?

5 个答案:

答案 0 :(得分:3)

在三元运算符的帮助下尝试Aarry的map(),如下所示:



var arr = ["name1", "name2", null, null, "name5", null];
var res = arr.map(function(item){
  return item != null ? item + ' wow' : null;
});
console.log(res);




答案 1 :(得分:2)

您可以使用logical AND &&来检查虚假值并直接返回虚假值,或者使用后缀来连接值。

您需要将Array#map的结果数组分配给新变量或旧变量。



var array = ["name1", "name2", null, null, "name5", null],
    result = array.map(s => s && s + " wow");
    
console.log(result);




答案 2 :(得分:1)

仅在s不为空

时才添加内容
myCtrl.myArray.map(s => (s==null?null:s + " wow"));

答案 3 :(得分:1)

null检查添加条件



let a = ["name1", "name2", null, null, "name5", null];

console.log(a.map(s => s == null ? null : (s + ' wow') ));




答案 4 :(得分:0)

为了完整起见,您实际上不必与null进行比较:

var arr = ["name1", "name2", null, null, "name5", null];
var res = arr.map(function(item) {
  return item ? item + ' wow' : null;
});
console.log(res);