【问题标题】:Set String via String.prototype function without return通过 String.prototype 函数设置字符串而不返回
【发布时间】:2012-03-11 08:20:14
【问题描述】:

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

【问题讨论】:

    标签: javascript string prototype splice


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2013-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 2016-11-24
      相关资源
      最近更新 更多