我有一个数组:
arr= ["abd","test","testss"];
我想在所有字符串前面加上点号:
arr= [".abd",".test",".testss"];
此操作失败:
arr.forEach(function(e){
e.append(".")
})
我该怎么做?
答案 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; }