刪除字符串元素
回答
從https://stackoverflow.com/a/3955096/711129:
Array.prototype.remove= function(){
var what, a= arguments, L= a.length, ax;
while(L && this.length){
what= a[--L];
while((ax= this.indexOf(what))!= -1){
this.splice(ax, 1);
}
}
return this;
}
var ary = ['three', 'seven', 'eleven'];
ary.remove('seven')
,或者使其成爲一個全球性的功能:
function removeA(arr){
var what, a= arguments, L= a.length, ax;
while(L> 1 && arr.length){
what= a[--L];
while((ax= arr.indexOf(what))!= -1){
arr.splice(ax, 1);
}
}
return arr;
}
var ary= ['three','seven','eleven'];
removeA(ary,'seven')
你必須自己做一個功能。你可以在數組中循環並從那裏刪除元素,或者讓這個函數爲你做。無論哪種方式,它不是一個標準的JS功能。
嘗試像下面,
myarray.splice(myarray.indexOf(removeMe),1);
您可以在不支持的indexOf
if (!Array.prototype.indexOf) {
Array.prototype.indexOf = function (searchElement /*, fromIndex */) {
"use strict";
if (this == null) {
throw new TypeError();
}
var t = Object(this);
var len = t.length >>> 0;
if (len === 0) {
return -1;
}
var n = 0;
if (arguments.length > 0) {
n = Number(arguments[1]);
if (n != n) { // shortcut for verifying if it's NaN
n = 0;
} else if (n != 0 && n != Infinity && n != -Infinity) {
n = (n > 0 || -1) * Math.floor(Math.abs(n));
}
}
if (n >= len) {
return -1;
}
var k = n >= 0 ? n : Math.max(len - Math.abs(n), 0);
for (; k < len; k++) {
if (k in t && t[k] === searchElement) {
return k;
}
}
return -1;
}
}
瀏覽器中添加這個腳本如下(from MDN)由於您使用jQuery的
myarray.splice($.inArray("abc", myarray), 1);
編輯 如果項目不在數組中,則此'單行'可能會引發錯誤。東西好一點
var index = $.inArray("abc", myarray);
if (index>=0) myarray.splice(index, 1);
你不需要爲此使用jQuery。 –
某些瀏覽器不支持'indexOf'。 Jquery的'inArray'將抽象出瀏覽器的功能。 – jwatts1980
+1使用'> = 0' http://jsperf.com/not-vs-gt-vs-ge/4(和正確答案的c) – ajax333221
- 1. 刪除字符串元素
- 2. 刪除字符串元素
- 3. 字符串比較和刪除元素
- 4. 檢測字符串是否有子字符串,並在Python中刪除元素
- 5. Java的字符數組 - 刪除元素
- 6. 從字符串中刪除元音。
- 7. LISP-從字符串中刪除元音
- 8. 刪除字符串中的元音
- 9. 從字符串中刪除元音
- 10. 刪除字符串單元陣列
- 11. 從字符串中刪除元音(Scheme)
- 12. 刪除字符串
- 13. 刪除字符串
- 14. 刪除字符串
- 15. 刪除字符串
- 16. 刪除字符串
- 17. 刪除字符串
- 18. 刪除字符串
- 19. 刪除字符串
- 20. 刪除字符串
- 21. 字符串,刪除
- 22. 刪除字符串
- 23. 刪除字符串
- 24. 在列表元素中搜索子字符串刪除元素(Python)
- 25. 如何刪除直接包含字符串的元素 - 忽略子元素
- 26. jQuery的刪除數組元素如果元素值與指定的字符串
- 27. 從字符串數組中刪除元素
- 28. 獲取從字符串arraylist中刪除和添加的元素
- 29. 刪除excel中給定索引處字符串的元素vba
- 30. 如何從字符串中刪除html DOM元素(使用JavaScript)?
一個評論,有些瀏覽器不支持'indexOf' – jwatts1980
另外,如果'indexOf'沒有找到元素,你是要去剪接與指數'-1'仍然刪除一個元素 – Esailija