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

How do I remove the first letter of every string in array with splice?

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

我正在尝试:

var missingFirstLetter = array[i].splice(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

您应该切片(而不是拼接!)数组的每个元素,然后将其存储回数组,您可以使用 Array#map 来做到这一点,映射每个元素为一个新值,在本例中为没有第一个字母的字符串:

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

这将遍历数组并将每个元素映射到一个没有第一个字母的新字符串,并将新的字符串数组存储到 arrayNoFirstLetter 中。确保使用 String#slice to get a section of a string, because there is not String#splice method. (maybe you mistook it for Array#splice?) Then you can use 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"

试试这个:

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