如何在数组中的字符串的开头附加点

时间:2018-10-10 23:09:29

标签: javascript

我有一个数组:

arr= ["abd","test","testss"];

我想在所有字符串前面加上点号:

arr= [".abd",".test",".testss"];

此操作失败:

arr.forEach(function(e){
  e.append(".")
})

我该怎么做?

6 个答案:

答案 0 :(得分:1)

您可以像这样使用Array.map API-

arr= ["abd","test","testss"];

console.log(arr.map(item => `.${item}` ))

答案 1 :(得分:1)

您可以使用array.map来执行此操作。 Array.map将允许您遍历元素并返回一个数组。 这是以下代码段

let arr= ["abd","test","testss"];
arr = arr.map(item=> `.${item}`);
console.log(arr);

答案 2 :(得分:1)

您可以在数组类型上使用map()方法来实现此目的:

var arr = ["abd","test","testss"];

// Iterate each string of arr, add a '.' to the start, 
// and return a copy of the updated array
arr = arr.map(function(value) { return '.' + value; })
    
console.log(arr)

如果您使用的是相当现代的浏览器,则还可以通过以下方式利用现代语法来达到相同的结果:

var arr = ["abd","test","testss"];

// Iterate each string of arr, add a '.' to the start, 
// and return a copy of the updated array
arr = arr.map(value => `.${value}`)
    
console.log(arr)

答案 3 :(得分:1)

一种方法是使用forEach提供的所有参数,它们是(1)当前元素的值,(2)当前元素的索引,(3)数组引用本身。转换为以下代码:

let arr = ['abc', 'def', 'ghi']

arr.forEach(function(value, index, array) {
    array[index] = '.' + value
});

// arr = ['.abc', '.def', '.ghi']

我敢肯定,这样做的速度更快或更短,但是嘿。

答案 4 :(得分:1)

这是为了向后兼容,而无需使用转译。

var arr = ['a', 'b', 'c', 'd', 'e'];

for(var i = 0; i < arr.length; i++)
    arr[i] = '.' + arr[i];

console.log(arr); // ['.a', '.b', '.c', '.d', '.e']

答案 5 :(得分:1)

假设字符串没有特殊字符,则可以联接和拆分。

let arr = ["abd", "test", "testss"];
console.log(("." + arr.join('|.')).split('|'));
.as-console-wrapper { max-height: 100% !important; top: 0; }