我有以下函数将splice
添加到字符串:
String.prototype.splice = function(index, howManyToDelete, stringToInsert) {
var characterArray = this.split('');
Array.prototype.splice.apply(characterArray, arguments);
return characterArray.join('');
}
但是,它确实很像
Array.prototype.splice
一样工作,我需要它。数组拼接返回已删除的值。因此,我只需要知道如何为String
设置新值而不必返回该值。String.prototype.splice = function(index, howManyToDelete, stringToInsert) {
var characterArray = this.split(''),
retVal = Array.prototype.splice.apply(characterArray, arguments);
newstringvalue = characterArray.join('');
return retVal;
}
编辑:显然你不能那样做,这必须足够:
String.prototype.splice = function(index, howManyToDelete, stringToInsert) {
var characterArray = this.split(''),
rem = Array.prototype.splice.apply(characterArray, arguments);
return {'s' : characterArray.join(''), 'x' : rem.join('')};
}
最佳答案
你不能那样做。您不能以更改数组内容的方式更改字符串的值。
查看其他字符串方法,以及它们如何返回新的字符串值而不是在原位置更改字符串。