如何使用splice删除数组中每个字符串的第一个字母?

时间:2017-05-18 04:04:34

标签: javascript arrays string splice

我有一个包含多个字符串的数组。我需要存储每个字符串减去第一个字母,然后将它们连接成一个句子。

我在尝试:

var missingFirstLetter = array[i].splice(1);

我在网上找到的东西引导我相信这应该有用,但它不能按预期工作。

3 个答案:

答案 0 :(得分:4)

你应该切片(不拼接!)数组的每个元素,然后将它存储回数组,你可以使用Array#map将每个元素映射到一个新的元素值,在这种情况下是没有第一个字母的字符串:

var arrayNoFirstLetter = array.map(el => el.slice(1));

这将迭代数组并将每个元素映射到没有第一个字母的新字符串,并将新的字符串数组存储到arrayNoFirstLetter中。请务必使用String#slice来获取字符串的一部分,因为没有String#splice方法。 (也许你把它误认为是Array#splice?)然后你可以使用Array#join将它们与一个分隔符连接起来(这是连接在一起时每个元素之间的字符串):

var joined = arrayNoFirstLetter.join(""); //join with empty space for example

例如:

var array = ["Apples", "Oranges", "Pears"];
var arrayNoFirstLetter = array.map(el => el.slice(1)); // ["pples", "ranges", "ears"]
var joined = arrayNoFirstLetter.join(""); // "pplesrangesears"

答案 1 :(得分:1)

这是你想要的吗?

var strings = ['string1', 'string2', 'string3'],
    stringsNoFirstCh = [];

for(key in strings){ // Iterates through each string in an array
   let string = strings[key];
   var s = string.substring(1); // Gets a string starting from index 1, so omits the first char
   stringsNoFirstCh.push(s); // Add to a new array: ['tring1', 'tring2', 'tring3']
}

var string = stringsNoFirstCh.join(''); // Transform to a string: tring1tring2tring3

答案 2 :(得分:1)

试试这个:

var a=["hHello","+-I-am","d-evil"];
var x;
var z="";
for(var i=0;i<a.length;i++){
x=a[i].substring(1);
z=z+x;
}
console.log(z);

结果是:

Hello-I-am-evil