【发布时间】:2017-05-18 04:04:33
【问题描述】:
我有一个包含多个字符串的数组。我需要存储每个字符串减去第一个字母,然后将它们连接成一个句子。
我正在尝试:
var missingFirstLetter = array[i].splice(1);
我在网上找到的信息让我相信这应该有效,但它并没有按预期工作。
【问题讨论】:
标签: javascript arrays string splice
我有一个包含多个字符串的数组。我需要存储每个字符串减去第一个字母,然后将它们连接成一个句子。
我正在尝试:
var missingFirstLetter = array[i].splice(1);
我在网上找到的信息让我相信这应该有效,但它并没有按预期工作。
【问题讨论】:
标签: javascript arrays string splice
您应该切片(而不是拼接!)数组的每个元素,然后将其存储回数组中,您可以使用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"
【讨论】:
试试这个:
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
【讨论】:
这是你想要的吗?
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
【讨论】: