亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

各位有什么好辦法來實現這個功能嗎?求高手指點

各位有什么好辦法來實現這個功能嗎?求高手指點

守候你守候我 2023-04-13 11:07:03
就是判斷一個元素是否存在于數組中的函數,既然js里string都有indexOf函數,為什么不在Array對象里設置一個這樣的函數呢,其實就用indexOf這個思想挺好的,不知道制定JS標準的人是基于什么考慮,把這樣一個如此常用的功能沒考慮在內的。
查看完整描述

3 回答

?
qq_遁去的一_1

TA貢獻1725條經驗 獲得超8個贊

jQuery中有類似的函數:

它的代碼如下:

function inArray(needle, haystack) {    var length = haystack.length;    for(var i = 0; i < length; i++) {        if(haystack[i] == needle) return true;
    }    return false;
}


查看完整回答
反對 回復 2023-04-17
?
小怪獸愛吃肉

TA貢獻1852條經驗 獲得超1個贊

如果你的數組里都是純數字的話,那么告訴你一個比較簡便的方法

// 比如判斷2312是否在這個數組中('|' + [2312,3331,423456].join('|') + '|').indexOf('|' + 2312 + '|')


查看完整回答
反對 回復 2023-04-17
?
溫溫醬

TA貢獻1752條經驗 獲得超4個贊

indexOf在ECMAScript 5th中是有的,

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 > 1) {
            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;
    }

其實不止indexOf,lastIndexOf,filter,forEach,every,map,some等等在ECMAScript 5th 中都有實現。


查看完整回答
反對 回復 2023-04-17
  • 3 回答
  • 0 關注
  • 137 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號