js判斷一個元素是否在陣列中
js中存在一個數組,如何判斷一個元素是否存在於這個陣列中呢,首先是通過迴圈的辦法判斷,程式碼如下:
var arr = ['a','s','d','f']; console.info(isInArray(arr,'a'));//迴圈的方式 /** * 使用迴圈的方式判斷一個元素是否存在於一個數組中 * @param {Object} arr 陣列 * @param {Object} value 元素值 */ function isInArray(arr,value){ for(var i = 0; i < arr.length; i++){ if(value === arr[i]){return true; } } return false; }
這種方式是比較通用的一種方式,但是需要自己寫函式,下面看一下第二種方式:
var arr = ['a','s','d','f']; console.info(arr.indexOf('a'));//在IE某些版本中不支援,可以自行擴充套件
這種方式是直接使用陣列的indexOf方法來判斷,如果元素存在於陣列中,那麼返回元素在陣列中的下標值,如果不存在,那麼返回-1,注意indexOf是區分大小寫的,字母O必需大寫,不然是會報錯的,另外,該方法在某些版本的IE中是不起作用的,因此在使用之前需要做一下判斷,修改後的程式碼如下所示:
/** * 使用indexOf判斷元素是否存在於陣列中 * @param {Object} arr 陣列 * @param {Object} value 元素值 */ function isInArray3(arr,value){ if(arr.indexOf&&typeof(arr.indexOf)=='function'){ var index = arr.indexOf(value); if(index >= 0){ return true; } } return false; }
第三種方式,就是使用jquery的inArray方法,該方法返回元素在陣列中的下標,如果不存在與陣列中,那麼返回-1,程式碼如下所示:
/** * 使用jquery的inArray方法判斷元素是否存在於陣列中 * @param {Object} arr 陣列 * @param {Object} value 元素值 */ function isInArray2(arr,value){ var index = $.inArray(value,arr); if(index >= 0){ return true; } return false; }
這種方式可以用來刪除一個數組中的未知下標值的元素,程式碼如下所示:
var arr = ['a','s','d','f']; console.info("刪除元素之前的陣列:"+arr); arr.splice($.inArray('a',arr),1); console.info("刪除元素之後的陣列:"+arr);
執行結果是:
[Web瀏覽器] "刪除元素之前的陣列:a,s,d,f" /test/index.html (12) [Web瀏覽器] "刪除元素之後的陣列:s,d,f" /test/index.html (14)
相關推薦
js判斷一個元素是否在陣列中
js中存在一個數組,如何判斷一個元素是否存在於這個陣列中呢,首先是通過迴圈的辦法判斷,程式碼如下:var arr = ['a','s','d','f']; console.info(isInArray(arr,'a'));//迴圈的方式 /** * 使用迴圈的方式判斷一個
js查詢某元素在陣列中的索引值(index)
制定一個查詢方法! // 查詢元素在陣列中的索引值 Array.prototype.indexValue = function (arr) { for (var i = 0; i < this.length; i++) { if (this[i] == arr) {
js判斷一個元素距離頂部的距離
var maps = $(".maps").offset().top; 目前用起來可以的準確的方法 function getElementTop(elem){var elemTop=elem[0].offsetTop;//獲得elem元素距相對定位的父元素的topelem=ele
js 判斷一個字元在字串中出現次數
思路:利用indexOf函式來判斷這個字元在字串中是否存在,為-1則存在,否則繼續 //檢測一個字元在字串中出現次數,引數字串,一個字元,返回字串出現的次數 function strCharPosition(str, char) { var pos; va
javascript(jquery)中如何判斷一個元素在頁面中是否存在
在做專案的過程中,常會用到js,所以就會常發生指令碼錯誤,大部分原因是頁面中的元素髮生的更改,而js中沒有即時作對應的更改,或者是更改很麻煩(因為個別元素的原因)。因此在用js對某個元素的屬性進行“操作”時,應先判斷元素是否存在。 注意如下幾種判斷方法,根據實際情況選擇
js判斷一個物件為陣列的方法
陣列物件 js的陣列是無型別的:陣列元素可以是任意型別,並且同一個陣列中的不同元素也可能有不同的型別。陣列的元素可以是物件或其他陣列,這樣就可以建立複雜的資料結構。 通常我們可以用一元運算子typeo
Js中如何判斷一個物件為陣列型別
在說明如何判斷一個物件為陣列型別前,我們先鞏固下js的資料型別,js一共有六大資料型別:number、string、object、Boolean、null、undefined。 string: 由單引號或雙引號來說明,如"string"; number:陣列型別,比如整數、小數等; Boolea
JS中怎樣判斷一個元素是不是物件
JS中,判斷物件型別時存在一個bug,那就是null型別也是object,那麼如何精準判斷一個元素是物件呢。 方法一:typeof function isObj(val) { return val !== null && typeof(val) === 'o
python中如何不區分大小寫的判斷一個元素是否在一個列表中
拒絕 結果 大小寫 over 用戶 ima image -1 技術分享 python中判斷某一個元素是否在一個列表中,可以使用關鍵字in 和 not in. 示例如下: 如果需要輸出相應的信息,可以搭配使用if語句,這裏不贅述。 ---------------------
C++找出一個二維陣列中的鞍點,即該位置上的元素在該行上最大,在該列上最小(也可能沒有鞍點)
今日正式用csdn部落格記錄,回顧我所學到的知識,分享一些我的人生感悟和自身經歷。也希望未來通夠過此平臺和更多喜愛程式設計的人交流學習。 道聽途說再加上自己的感悟,認為程式設計最重要的是思想,而不是語言本身,語言只是個工具。所以我們得先學思想。遇到問題,應該先想如果是自己去做會怎麼處理,但我們不
js判斷一個dom中是否包含另一個dom的方法
首先,比較原始(蠢)的方法 function isChildOf(child, parent) { if(child && parent) { let parentNode = child.parentNode; w
c語言 將一個二維陣列行和列的元素互換,存到另一個二維陣列中
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
js - 【陣列】怎麼判斷一個變數是陣列型別的?
怎麼判斷一個數組是陣列呢? 其實這個也是一個常考的題目。依稀記得我為數不多的面試經過中都被問道過。 方案一: instanceof variable instanceof Array 解決思路: 使用型別判斷所給的方法 instanceof &nb
如何判斷一個元素在億級資料中是否存在?
前言 最近有朋友問我這麼一個面試題目: 現在有一個非常龐大的資料,假設全是 int 型別。現在我給你一個數,你需要告訴我它是否存在其中(儘量高效)。 需求其實很清晰,只是要判斷一個數據是否存在即可。 但這裡有一個比較重要的前提:非常龐大的資料。 常規實現 先不考慮這個條件,我們腦海中
Java架構/如何判斷一個元素在億級資料中是否存在?
前言 最近有朋友問我這麼一個面試題目: 現在有一個非常龐大的資料,假設全是 int 型別。現在我給你一個數,你需要告訴我它是否存在其中(儘量高效)。 需求其實很清晰,只是要判斷一個數據是否存在即可。 但這裡有一個比較重要的前提:非常龐大的資料。 常規實現 先
布隆過濾---判斷一個元素在億級資料中是否存在
如何判斷一個元素在億級資料中是否存在? https://www.cnblogs.com/crossoverJie/p/10018231.html 前言 最近有朋友問我這麼一個面試題目: 現在有一個非常龐大的資料,假設全是 int 型別。現在我給你一個數,你需要告訴我它是否存在其中(儘量高效)。 需求其
js 判斷一個字串中出現次數最多的字元,統計其出現次數
js 判斷一個字串中出現次數最多的字元,統計其出現次數 var str = 'asdfssaaasasasasaa'; var json = {}; for (var i = 0; i < str.length; i++) { if(!json[str.charAt(i
劍指off:在一個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣一個二維陣列和一個整數,判斷陣列中是否含有該整數
題目描述 在一個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。 思路: 從左下角x開始尋找,x為此列最大數字,此行最小數字。如果目
在一個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。
public class Solution { public boolean Find(int target, int [][] array) { int row=0
JS判斷一個是否為函式或者為陣列(資料型別的判斷)
如下程式碼所示: 有幾個細節要注意 1)typeof(arr) === ‘object’ 使用typeof陣列,得到的是一個object,而不 是返回Array或者array 2)console.info(1 instanceof Number) //fal