我希望使用splice在字符串上,例如
console.log(removeFromString('Elie', 2, 2)) // 'El'
如果您真的想使用splice()
,您可以将字符串扩展到一个数组,在数组上调用splice()
,然后将结果一起调用join()
:
const removeFromString = (s, x, y) => {
const array = [...s];
array.splice(x, y);
return array.join('');
}
console.log(removeFromString('Elie', 2, 2));
虽然这不是一个很好的方法,但这只是让你了解javascript中的工作原理。
-
你不能在字符串上使用splice,因为它适用于数组它不适用于字符串,因为字符串是不可变的(在
Sebastian Simon的评论后编辑) -
您可以使用
split
方法将字符串转换为字符数组。 -
您可以使用
splice
方法对字符数组 -
您可以使用
join
方法将字符数组转换为字符串
let stringTitle = "Elie"; // string
let stringArray = stringTitle.split(""); // spliting string into array of characters
console.log(stringArray);
let subString = stringArray.splice(0,2).join("") // using splice on array of characters and then join them to make a string
console.log(subString) // output El
我建议在这个用例中使用str.substring(0, 2);
是一个更好的选择。
let stringExample = "Elie";
let substring = stringExample.substring(0, 2);
console.log(substring) // output El
我认为这是你想要做什么。
function removeFromString(string, start, count) {
let str = string.split('');
str.splice(start, count);
return str.join('');
}
console.log(removeFromString('Elie', 2, 2));
试试这个:
function removeFromString(str, start, end) {
let arr = Array.from(str);
arr.splice(start, end);
return arr.join(String());
}
,然后使用:
removeFromString('Elie', 2, 2);
尝试使用以下代码你可以在这里获得更多关于slice的信息
let str = "Elie";
// pass start and end position to slice method ,it will not include end character like i is at 2nd position
console.log(str.slice(0, 2));