Javascript 我可以替换或切片数组中的破折号吗

Javascript 我可以替换或切片数组中的破折号吗,javascript,arrays,regex,loops,replace,Javascript,Arrays,Regex,Loops,Replace,我可以替换数组中的破折号直到数组中的字符串结束吗? 如果我有 ["Doni-night", "Mike-night" ] 我希望输出是数组 ["Doni", "Mike"] 或者我们应该使用循环对它们进行切片?使用.map()中的.replace()删除所有项目中字符串的附加部分 var arr=[“多尼之夜”、“迈克之夜”]; var newArr=arr.map(函数(val){ 返回值替换(/-.*/,''); }); 控制台日志(newArr)您可以使用和: var arr=[“

我可以替换数组中的破折号直到数组中的字符串结束吗? 如果我有

["Doni-night", "Mike-night" ]
我希望输出是数组

["Doni", "Mike"]
或者我们应该使用循环对它们进行切片?

使用
.map()
中的
.replace()
删除所有项目中字符串的附加部分

var arr=[“多尼之夜”、“迈克之夜”];
var newArr=arr.map(函数(val){
返回值替换(/-.*/,'');
});
控制台日志(newArr)您可以使用和:

var arr=[“多尼之夜”、“迈克之夜”];
arr=arr.map(n=>n.split('-')[0]);

控制台日志(arr)您可以使用正则表达式替换破折号和所有后续字符,直到字符串结束

var数组=[“多尼之夜”、“迈克之夜”];
array=array.map(s=>s.replace(/-.*$/,“”));

console.log(数组)这是所有答案中最有效的。如果我们不使用
map
,怎么样?如果我们不使用
map
?@iLnx,你可以使用
作为答案中添加的
循环。如果我们不使用
map
,怎么样??