2012-02-21 96 views
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,我需要它。數組拼接返回已刪除的值。所以我只需要知道如何爲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('')}; 
} 

回答

2

你不能做到這一點。您不能以更改數組內容的方式更改字符串的值。

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

相關問題