我有以下函数将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('')};
}

最佳答案

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

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

10-07 21:29