javascript – 通过String.prototype函数设置String而不返回

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

解决方法:

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

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

上一篇:微信小程序删除数组(删除对应指定下标数组中的元素)


下一篇:vue更新数组时触发视图更新的方法