我有一个包含多个字符串的数组。我需要存储每个字符串减去第一个字母,然后将它们连接成一个句子。
我在尝试:
var missingFirstLetter = array[i].splice(1);
我在网上找到的东西引导我相信这应该有用,但它不能按预期工作。
答案 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