1

我有以下函数可以添加splice到字符串中:

String.prototype.splice = function(index, howManyToDelete, stringToInsert) {
    var characterArray = this.split('');
    Array.prototype.splice.apply(characterArray, arguments);
    return characterArray.join('');
}

Array.prototype.splice然而,它的工作原理与我需要的完全一样。数组拼接返回被删除的值。所以我只需要知道如何将新值设置为 aString而不必返回值。

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('')};
}
4

1 回答 1

2

你不能那样做。您不能像更改数组内容那样更改字符串的值。

查看其他字符串方法,以及它们如何返回新字符串值而不是更改字符串。

于 2012-02-21T00:42:56.260 回答