Javascript 删除第一个“;字;从字符串数组
我有一个简单的字符串数组Javascript 删除第一个“;字;从字符串数组,javascript,Javascript,我有一个简单的字符串数组 var myArray= ["This is","a game","worth playing"]; 我试过这个 console.log(myArray.map(function(f){ return f.substring(myArray.indexOf(" ") + 1);})); 这当然是行不通的 我的预期输出: is game playing 我需要纯JavaScript,而不是jQuery function removeFirstWordFromArra
var myArray= ["This is","a game","worth playing"];
我试过这个
console.log(myArray.map(function(f){ return f.substring(myArray.indexOf(" ") + 1);}));
这当然是行不通的
我的预期输出:
is game playing
我需要纯JavaScript,而不是jQuery
function removeFirstWordFromArrayOfWords(array) {
return array.map(item => {
return item.split(' ').slice(1);
}).join(' ');
}
这会给你
> var myArray= ["This is","a game","worth playing"];
> removeFirstWordFromArrayOfWords(myArray)
is game playing
这可能不是最简单或最快的您必须在数组元素中查找
”
,而不是在数组本身中。将(myArray.indexOf(“”)更改为f.indexOf(“”)
var myArray=[“这是”、“一个游戏”、“值得一玩”];
console.log(myArray.map(f=>f.substring(f.indexOf(“”)+1)).join(“”));
问题是.indexOf
为数组中的每个空格返回-1
。这是因为您和是两种不同的方法
为了解决这个问题,我们可以简单地在数组中的每个元素上循环,然后分别处理它们,将每个元素设置为等于第二个单词
var myArray=[“这是”、“一个游戏”、“值得一玩”];
对于(var i=0;i console.log(myArray.join(“”));
这一个匹配您的预期输出:
var myArray=[“这是”、“一个游戏”、“值得一玩”];
console.log(myArray.map((item)=>{return item.replace(/\w+\s*/i,“”)).join(“”)
我不知道为什么每个人的答案都会使情况复杂化……这是一个在错误的变量上使用indexOf
的简单例子
这一行:
console.log(myArray.map(函数(f){返回f.substring(myArray.indexOf(“”+1);}));
应该是:
console.log(myArray.map(函数(f){返回f.substring(f.indexOf(“”+1);}));
您需要检查的当前字符串中的空格索引,但您在原始数组上调用了indexOf
,该数组当然返回-1
,因为找不到该值
此外,如果希望输出与预期的输出语句完全相同,则需要对结果使用.join()
:
var myArray=[“这是”、“一个游戏”、“值得玩”];
console.log(myArray.map(函数(f){return f.substring(f.indexOf(“”)+1);}).join(“”));
必须将使用map处理的数组保存到变量中
map()方法使用调用
在调用数组()中的每个元素上提供函数
var myArray=[“这是”、“一个游戏”、“值得一玩”];
myArray=myArray.map(函数(str){
返回str.substring(str.indexOf(“”+1)
});
//as数组
log(myArray);
//作为字符串
console.log(myArray.join(“”));
Darnit,没有jQuery!另一方面,我想要一匹小马。@jdv--我们不是都想要吗?为什么不把最后一个myArray改成f呢?函数(f){return f.substring(f.indexOf(“”+1);}@billjamesdev,是的,你是正确的。这很有效。谢谢。可能想对你所做的更改添加一个解释,这样你就不会被批评了。@epascarello,谢谢,我已经添加了解释。我认为代码是显而易见的。我不确定为什么会被否决,因为它提供了一个问题的解决方案,但考虑到其他的答案,确实有人看起来是这样的在“向下投票”按钮上使用高压键;)不需要向下投票一个你不喜欢的答案。否决票应该用来表示答案无效,不符合您的喜好。@Herohtar Darnit。。。!我知道某处有个小错误。无论如何,非常感谢。该喝杯咖啡了……请看问题。这里有一个我期望的输出:部分。这仍然不是OP想要的,也不是在寻找答案,否则他不会选择我的。尽管如此,我还是更新了示例以生成一个完整的字符串。拍摄得不错,但是这里可以省略splitUp.length
:splitUp.slice(1,splitUp.length)