JavaScript方法用于查找满足指定条件的数组元素并返回匹配项

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加


前言

JavaScript 是一门广泛应用于前端开发和后端开发的编程语言,它提供了丰富的内置方法和函数来处理数组。
在 JavaScript 中,数组的方法用于查找满足指定条件的数组元素并返回匹配项。


一、indexOf()方法

1、定义:

返回指定字符串值在字符串中首次出现的位置从头检索字符串,检索是否有符合指定字符串值在字符串中并返回出现位置,若没有检索到则返回 -1。
var str = 'hello word'
str.indexOf('l')   //2

//结果:这里时检索字符串`str`中首次出现的 `l`的位置,这里结果是返回`2`。

2、indexOf () 用法:

   1、Strng.indexOf(substring) //检索String中的substring,默认从0位开始。
   2、String.indexOf(substring,m) //检索String中的substring 默认从第m位开始。
   3、str1.IndexOf("String");//检索String的第一个字符在str1中的索引值(位置)。
   4、str1.lastIndexOf(substring) //检索str1中的substring,最后一个出现位置。
   5、str1.IndexOf("String");//查找String的第一个字符在str1中的索引值(位置) str1.IndexOf("String",start,end)//从startstart+1个字符起,查找end个字符,
String在字符串str1中的位置[从第一个字符算起]
注意:start+end不能大于str1的长度。
indexOf参数为string,在字符串中寻找参数字符串第一次出现的位置并返回该位置。
如:

string st="0123otoujk"; 
var i=st.indexof("to");//i==5

string test="degifghijklmnopk";
test.indexof('g') = 2   //从前向后 定位 g 第一次出现的位置
test.indexof('g',1) = 2   //从前向后 定位 g 从第1+1个字符串开始计算第一次出现的位置
test.indexof('g',5,3) = 5   //从前向后 定位 g 从第5 位开始查,查3位,即 从第5位到第8位;

3、指定字符串中特定字母转换成大写字母:

indexOf()方法对大小写敏感,所以有的时候需要用到转换大小写配合使用。

1、 转小写 toLowerCase()

var str = 'heLLo Word'
str.tolowerCase()  //'hello word'

2、转大写 toUpperCase()

var str1 = 'Hello Word'
str1.toUpperCase() //'HELLO WORD'

3、includes()方法

var str2= 'hello'
  ['hi','word'].includes(str2) //false
  ['hello','word'].includes(str2) //true

二、find()

在 JavaScript 中,数组的 find 方法用于查找满足指定条件的数组元素并返回第一个匹配项。它的语法如下:

array.find(callback(element[, index[, array]])[, thisArg])

在这里,array 是要进行查找的数组,callback 是一个回调函数,用于测试数组中的每个元素。

回调函数 callback 接收三个参数:

  • element:当前被遍历的数组元素。
  • index(可选):当前元素在数组中的索引。
  • array(可选):被遍历的数组。
const numbers = [1, 2, 3, 4, 5];
const foundNumber = numbers.find(number => number > 3);
console.log(foundNumber); // 输出: 4

在上述示例中,我们使用 find 方法来查找数组 numbers 中第一个大于 3 的数字。find 方法从左到右遍历数组元素,当找到满足条件的元素时就会立即返回。

如果在数组中没有找到满足条件的元素,则 find 方法返回 undefined。因此,在使用 find 方法后,我们应该检查返回值来确定是否找到了匹配项。

const users = [
  { id: 1, name: 'Alice' },
  { id: 2, name: 'Bob' },
  { id: 3, name: 'Charlie' }
];

const foundUser = users.find(user => user.id === 2);
console.log(foundUser); // 输出: { id: 2, name: 'Bob' }

# 三、every() 和 some() ## 1、every(): some() 方法用于检测数组中的元素是否满足指定条件,如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。如果没有满足条件的元素,则返回false
	some() 不会对空数组进行检测。
	some() 不会改变原始数组。

例:

let arr = [1, 2, 3, 4, 5,6];
  let flag = arr.some(item => {
      if (item === 0) {
          return item;
      }
  });
  console.log(flag); //输出结果false

let arr = [1, 2, 3, 4, 5,6];
  let flag = arr.some(item => {
      if (item === 6) {
          return item;
      }
  });
  console.log(flag); //输出结果true

2、every用法:

every跟some不同点在于,every要判断数组中是否每个元素都满足条件,只有都满足条件才返回true;只要有一个不满足就返回false;

 let arr = [1, 2, 3, 4, 5];
    let flag = arr.every(item => item < 6);
    console.log(flag); //输出结果true
    
  let arr = [1, 2, 3, 4, 5];
   let flag = arr.every(item => item < 5);
   console.log(flag); //输出结果false

总结

提示:这里对文章进行总结:

例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐