一、js數組查找元素
在JS中,查找數組元素是非常常見的操作,可以通過遍曆數組或者使用一些內置方法實現。
下面是通過遍曆數組的方式查找元素的示例代碼:
const arr = [1, 3, 5, 7, 9]; const target = 5; for(let i=0; i<arr.length; i++){ if(arr[i]===target){ console.log(`元素${target}的下標為${i}`); break; } }
上述代碼首先定義了一個數組arr和目標元素target,然後通過for循環遍曆數組,如果數組中當前遍歷到的元素等於目標元素,則輸出該元素的下標。
除了遍曆數組的方式,JS也提供了內置的方法來實現查找元素的操作。其中最常用的方法是indexOf()和find()。
用indexOf()方法查找元素的示例代碼:
const arr = [1, 3, 5, 7, 9]; const target = 5; const index = arr.indexOf(target); if(index !== -1){ console.log(`元素${target}的下標為${index}`); }else{ console.log(`元素${target}不存在`); }
上述代碼通過調用indexOf()方法查找元素,如果返回的下標不為-1則表示該元素存在於數組中,否則則不存在。
用find()方法查找元素的示例代碼:
const arr = [1, 3, 5, 7, 9]; const target = 5; const index = arr.find(item => item === target); if(index !== undefined){ console.log(`元素${target}的下標為${arr.indexOf(index)}`); }else{ console.log(`元素${target}不存在`); }
上述代碼通過調用find()方法查找元素,並使用箭頭函數作為查找條件。如果在數組中找到該元素則返回該元素,否則返回undefined。
二、js數組查找返回下標
在JS中,查找數組元素並返回其所在下標也是一個比較常見的操作,可以通過indexOf()方法和for循環等方式實現。
下面是使用indexOf()方法查找數組元素並返回下標的示例代碼:
const arr = [1, 3, 5, 7, 9]; const target = 5; const index = arr.indexOf(target); if(index !== -1){ console.log(`元素${target}的下標為${index}`); }else{ console.log(`元素${target}不存在`); }
上述代碼中,通過調用indexOf()方法查找元素,如果返回的下標不為-1則表示該元素在數組中存在,否則則不存在。
下面是通過for循環查找數組元素並返回下標的示例代碼:
const arr = [1, 3, 5, 7, 9]; const target = 5; let index = -1; for(let i=0; i<arr.length; i++){ if(arr[i]===target){ index = i; break; } } if(index !== -1){ console.log(`元素${target}的下標為${index}`); }else{ console.log(`元素${target}不存在`); }
上述代碼中,通過for循環遍曆數組,當找到目標元素時就將當前下標保存到index中,並使用break語句跳出循環。
三、js數組查找方法
在JS中,除了使用indexOf()和find()方法進行查找元素外,還有一些其他的內置方法可以實現查找數組元素的操作。
下面列舉了一些常用的JS數組查找方法:
- filter()方法:返回一個新數組,其中包含滿足指定條件的所有元素。
- some()方法:返回一個布爾值,表示數組是否包含滿足指定條件的元素。
- every()方法:返回一個布爾值,表示數組中的所有元素是否都滿足指定條件。
- findIndex()方法:返回滿足指定條件的第一個元素在數組中的下標,如果不存在則返回-1。
- includes()方法:返回一個布爾值,表示數組是否包含指定的元素。
下面是使用filter()方法查找數組元素的示例代碼:
const arr = [1, 3, 5, 7, 9]; const target = 5; const res = arr.filter(item => item === target); if(res.length > 0){ console.log(`元素${target}存在`); }else{ console.log(`元素${target}不存在`); }
上述代碼中通過調用filter()方法查找元素,並使用箭頭函數作為查找條件。如果返回的數組res的長度大於0,則表示該元素在數組中存在,否則不存在。
四、js數組查找相同的元素
在JS中,查找相同的元素也是一個比較常見的操作。可以通過for循環等方式實現。
下面是通過for循環查找相同元素的示例代碼:
const arr1 = [1, 3, 5, 7, 9]; const arr2 = [2, 4, 5, 8, 9]; const res = []; for(let i=0; i<arr1.length; i++){ for(let j=0; j<arr2.length; j++){ if(arr1[i]===arr2[j]){ res.push(arr1[i]); } } } console.log(`相同的元素為:${res.join(',')}`);
上述代碼中,通過兩個for循環遍歷兩個數組,當發現兩個數組中有相同的元素時,就將該元素添加到結果數組res中,並最終將res數組輸出。
五、js數組查找對象
在JS中,查找數組中的對象也是一個比較常見的操作。可以通過for循環等方式實現。
下面是通過for循環查找對象的示例代碼:
const arr = [ {name: 'John', age: 30}, {name: 'Jane', age: 25}, {name: 'Bob', age: 40} ]; const target = {name: 'Jane', age: 25}; let index = -1; for(let i=0; i<arr.length; i++){ if(JSON.stringify(arr[i])===JSON.stringify(target)){ index = i; break; } } if(index !== -1){ console.log(`對象${JSON.stringify(target)}的下標為${index}`); }else{ console.log(`對象${JSON.stringify(target)}不存在`); }
上述代碼中,通過for循環遍曆數組,當找到目標對象時,將當前下標保存到index中,並使用break語句跳出循環。需要注意的是,JS中的對象比較需要使用JSON.stringify()方法將對象轉為字符串進行比較。
六、js數組查找下標
在JS中,查找數組中滿足指定條件的元素的下標也是一個比較常見的操作。可以通過for循環等方式實現。
下面是通過for循環查找元素下標的示例代碼:
const arr = [1, 3, 5, 7, 9]; const index = arr.findIndex(item => item > 5); if(index !== -1){ console.log(`滿足條件的元素的下標為${index}`); }else{ console.log(`不存在滿足條件的元素`); }
上述代碼中,通過調用findIndex()方法查找滿足條件的第一個元素在數組中的下標。
七、js數組查找重複數據
在JS中,查找數組中的重複數據也是一個比較常見的操作。可以通過for循環等方式實現。
下面是通過for循環查找重複數據的示例代碼:
const arr = [1, 2, 3, 2, 4, 5, 3]; const res = []; for(let i=0; i<arr.length; i++){ for(let j=i+1; j<arr.length; j++){ if(arr[i]===arr[j] && res.indexOf(arr[i])===-1){ res.push(arr[i]); } } } console.log(`重複的數據為:${res.join(',')}`);
上述代碼中,通過兩個for循環遍曆數組,當發現兩個重複的元素時,就將該元素添加到結果數組res中,並最終將res數組輸出。需要注意的是,重複數據僅需要輸出一次,因此需要使用indexOf()方法來判斷res數組中是否已經包含該元素。
八、js數組查找符合條件的值
在JS中,查找數組中滿足指定條件的值也是一個比較常見的操作。可以通過filter()等方式實現。
下面是使用filter()方法查找符合條件的值的示例代碼:
const arr = [1, 2, 3, 4, 5]; const res = arr.filter(item => item % 2 === 0); console.log(`符合條件的值為:${res.join(',')}`);
上述代碼中,通過調用filter()方法查找符合條件的值,並使用箭頭函數作為查找條件。如果返回的數組res的長度大於0,則表示存在符合條件的值,否則不存在。
九、js數組查找重複元素
在JS中,查找數組中的重複元素也是一個比較常見的操作。可以通過for循環等方式實現。
下面是通過for循環查找重複元素的示例代碼:
const arr = [1, 2, 3, 2, 4, 5, 3]; const res = []; for(let i=0; i<arr.length; i++){ if(arr.indexOf(arr[i]) !== arr.lastIndexOf(arr[i]) && res.indexOf(arr[i])===-1){ res.push(arr[i]); } } console.log(`重複的元素為:${res.join(',')}`);
上述代碼中,通過兩個indexOf()方法來判斷每個元素在數組中第一次和最後一次出現的下標是否相同。如果判斷結果為true並且該元素還沒有被添加到結果數組res中,則將其添加到res數組中。需要注意的是,重複元素僅需要輸出一次,因此需要使用indexOf()方法來判斷res數組中是否已經包含該元素。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/194217.html