我可以替换数组中的破折号直到数组中字符串的结尾吗? 如果我有
Seq[Any]
我希望输出为数组
["Doni-night", "Mike-night" ]
还是我们应该使用循环将它们切成薄片?
答案 0 :(得分:1)
var arr = ["Doni-night", "Mike-night" ];
arr = arr.map(n => n.split('-')[0]);
console.log(arr);
使用 for 循环:
var arr = ["Doni-night", "Mike-night" ];
for (i = 0; i < arr.length; i++) {
arr[i] = arr[i].split('-')[0];
}
console.log(arr);
使用forEach()
:
var arr = ["Doni-night", "Mike-night" ];
arr.forEach((n,i) => {
arr[i] = arr[i].split('-')[0];
});
console.log(arr);
答案 1 :(得分:0)
使用.replace()
中的.map()
从所有项目中删除字符串的其他部分。
var arr = ["Doni-night", "Mike-night" ];
var newArr = arr.map(function(val){
return val.replace(/-.*/, '');
});
console.log(newArr);
ES6中的代码
var arr = ["Doni-night", "Mike-night" ];
console.log(arr.map(val => val.replace(/-.*/, '')));
如果您愿意,也可以使用for
循环而不是.map()
。
var arr = ["Doni-night", "Mike-night" ];
for (var i=0; i<arr.length; i++)
arr[i] = arr[i].replace(/-.*/, '');
console.log(arr);
答案 2 :(得分:0)
您可以使用正则表达式,将破折号替换为以下所有字符,直到字符串末尾。
var array = ["Doni-night", "Mike-night"];
array = array.map(s => s.replace(/-.*$/, ''));
console.log(array);
具有for
循环和索引。
var array = ["Doni-night", "Mike-night"],
i;
for (i = 0; i < array.length; i++) {
array[i] = array[i].replace(/-.*$/, '');
}
console.log(array);