我有以下函数将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('')};
}
解决方法:
你不能这样做.您不能以更改数组内容的方式更改字符串的值.
查看其他字符串方法,以及它们如何返回新的字符串值而不是更改字符串.