精华内容
下载资源
问答
  • vue 数组查找包含某个元素
    千次阅读
    2021-12-20 17:04:34
    for(let i=0;self.pop2List.length>i;i++){
      if(self.pop2List[i].text.indexOf("突变") !== -1){
          self.pop2List[i].text = '突变'
      console.log(self.pop2List[i].text)
    }

    for循环数组,判断text字段是否包含‘突变’二字,-1为不包含,0为包含

    更多相关内容
  • js代码-js数组查找元素 findIndex() 方法,返回第一个匹配元素下标
  • 在js数组查找特定的元素相信对大家来说再熟悉不过了,但越简单的东西越可能出错,小编最近就犯了这样的错误,所以想着干脆将实现的代码整理下来,方便自己以后需要的时候,或者有需要的朋友们参考学习,下面来一起...
  • c++数组查找函数实现

    2019-04-22 15:31:02
    c++实现的vector的数组中是否存在某元素查找元素的迭代器的函数
  • 删除数组指定的某个元素 js删除数组中某一项或几项的几种方法 https://www.jb51.net/article/154737.htm 首先可以给JS的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为: Array....
  • 数组查找元素

    千次阅读 2021-01-02 21:28:43
    数组查找元素1. 查找元素的索引 数组操作基本上都是由Array类来负责,因而该类也提供了一系列方法来用于在数组中进行查找。这些方法按照查找结果划分,大体可以分为两类,下面将分别介绍。 1. 查找元素的索引 此...


    数组操作基本上都是由Array类来负责,因而该类也提供了一系列方法来用于在数组中进行查找。这些方法按照查找结果划分,大体可以分为两类,下面将分别介绍。

    1. 查找元素的索引

    此种查找方式将返回被查找到的元素的索引,如果未找到,就返回-1。有两种方法可用:第一组是按照单个元素值来查找;第二组方法则比较灵活,可以通过System.Predicate委托来自定义查找过程。如下:
    第一组:

    • IndexOf() —— 查找指定元素的索引,只要遇到符合条件的元素就停止查找。如果数组存在多个相同的元素,那么方法只返回第一个满足条件的元素的索引。例如,一个数组中有2、2、3、5四个元素,查找元素2,只返回第一个2的索引,第二个2将被忽略。
    • LastIndexOf() —— 与IndexOf()方法相似,但LastIndexOf方法返回匹配的最后一个元素的索引。例如一个数组中包含a、b、c、c、d五个元素,在查找元素c时,只返回第二个c的索引。

    第二组:

    • FindIndex —— 与IndexOf方法相似,只是可以使用Predicate委托来自定义查找方式,方法会把每个元素传给该委托,如果元素符合查找条件,则返回true,否则返回false。同样,FindIndex方法一旦找到第一个符合条件的元素就停止查找。
    • FindLastIndex —— 通过Predicate委托来自定义查找,返回匹配查找条件的最后一个元素的索引。

    在上面方法的参数中涉及Predicate委托,它的定义原型如下:

        public delegate bool Predicate<in T>(T obj);
    

    T是类型参数,该委托接受以T类型作为参数,并返回bool类型的方法,obj是数组中待查找的元素,如果obj符合查找条件,就返回true,否则就返回false。
    下面用一个示例演示如何使用上面所列出的方法来查找元素的索引。
    首先,声明一个数组变量,用于做测试。

                //用于测试的数组
                string[] testArr = new string[]
                {
                    "ask",
                    "check",
                    "ask",
                    "food",
                    "ink"
                };
    

    数组中包含五个string类型的元素。随后分别用IndexOf、LastIndexOf、FindIndex和FindLastIndex四个方法来对测试数组进行查找,并在屏幕上输出查找到的索引。

                //check是数组的第二个元素,索引为1
                int index1 = Array.IndexOf(testArr,"check");
                System.Console.WriteLine($"check元素的索引:{index1}");
    
                //数组中存在两个ask,索引分别为0和2
                //LastIndexOf方法只返回最后一个ask的索引2
                int index2 = Array.LastIndexOf(testArr,"ask");
                System.Console.WriteLine($"测试数组中有两个ask元素,LastIndexOf方法返回的索引:{index2}");
    
                //通过自定义方式,查找以k结尾的元素
                //第一个元素ask就是k结尾,已满足条件,不再往下查找
                //因此返回第一个ask的索引0
                int index3 = Array.FindIndex(testArr,new Predicate<string>(FindProc));
                System.Console.WriteLine($"FindIndex方法查找以k结尾的元素的索引:{index3}");
    
                //自定义方式查找以k结尾的元素
                //测试数组中索引0、1、2、3、4四处的元素都以k结尾
                //但FindLastIndex只返回最后一个匹配项ink的索引4
                int index4 = Array.FindLastIndex(testArr,FindProc);
                System.Console.WriteLine($"FindLastIndex方法查找以k结尾的元素的索引:{index4}");
    

    "check"是数组的第二个元素,索引为1,故index1的值为1;测试数组中有两个"ask"元素,分别是第一个和第三个,LastIndexOf方法返回匹配的最后一项的索引,虽然索引0和2处都找到"ask"元素,但是由于索引2处是最后一处,故index2变量的值为2;在测试数组中有四个元素是k结尾的,但FindIndex只返回第一个匹配项的索引,因为第一个元素"ask"就是以k结尾的,符合条件,所以index3的值为0;FindLastIndex方法返回最后一个以k结尾的元素"ink"的索引,所以index4变量的值为4。
    下面的代码是自定义查找方式的FindProc方法的处理过程。

            private static bool FindProc(string obj)
            {
                if (obj.EndsWith("k"))
                {
                    return true;
                }
                return false;
            }
    

    运行结果如下:

    check元素的索引:1
    测试数组中有两个ask元素,LastIndexOf方法返回的索引:2
    FindIndex方法查找以k结尾的元素的索引:0
    FindLastIndex方法查找以k结尾的元素的索引:4
    

    2. 查找元素自身

    这种查找方式的结果不是返回元素在数组中的索引,而是直接返回元素自身,也就是返回所找到的元素的值。Array类提供了三个方法用于查找元素,它们分别是:

    1. Find方法:查找符合条件的元素,如果找到,就不再往下查找;如果没有找到满足条件的元素,则返回类型的默认值。例如,如果要查找的目标类型是int,在找不到符合条件的元素时就返回int的默认值0。
    2. FindLast方法:查找满足条件的元素,并返回符合条件的最后一个元素,和FindLastIndex方法类似。例如,一个整形数组包含1、2、3、4四个元素,如果查找的条件是小于4的元素,那么符合条件的元素有1、2、3三个,FindLast方法将返回最后匹配的元素,即返回3。
    3. FindAll方法:按照指定的条件进行查找,返回所有符合条件的元素,以数组的形式返回。例如,一个int数组包含1、2、3、4四个元素,查找条件为小于3的元素,则FindAll方法将返回一个新的int数组,该数组包含符合条件的两个元素1和2。

    示例如下:
    定义一个int数组:

                //声明数组变量
                int[] arr = {3,6,35,10,9,13};
    

    分别使用Find、FindLast和FindAll三个方法在数组中查找小于10的元素,并输出查找结果。

                //Find方法只返回匹配的第一个元素
                //数组中第一个小于10的元素是3,故返回3
                int result = Array.Find(arr,new Predicate<int>(FindCallback));
                System.Console.WriteLine($"Find方法查找小于10的元素:{result}");
    
                //FindLast方法返回匹配元素的最后一项
                //数组中最后一个小于10的元素是9,故返回9
                int result2 = Array.FindLast(arr,FindCallback);
                System.Console.WriteLine($"FindLast方法查找小10的元素:{result2}");
    
                //FindAll方法返回所有匹配的元素
                //数组中3,6,9都小于10
                //因此,返回一个由3、6、9三个元素组成的数组
                int[] result3 = Array.FindAll(arr,FindCallback);
                System.Console.WriteLine("FindAll方法查找所有小于10的元素:");
                foreach(int x in result3)
                {
                    Console.Write(x+" ");
                }
    

    数组中小于10的有三个元素:3、6、9。Find方法只返回第一个符合条件的元素,所以返回3;FindLast方法返回符合条件的最后一个元素,所以返回9;FindAll方法返回所有符合条件的元素,因此返回3、6、9。
    FindCallback方法的定义如下,用于Predicate委托。如果元素小于10则返回true,否则返回false。

            private static bool FindCallback(int val)
            {
                if(val < 10)
                {
                    return true;
                }
                return false;
            }
    

    示例运行结果如下:

    Find方法查找小于10的元素:3
    FindLast方法查找小10的元素:9
    FindAll方法查找所有小于10的元素:
    3 6 9 
    
    展开全文
  • js如何在数组查找某个元素

    千次阅读 2020-12-29 08:48:21
    前言有时候我们想以某种条件来查找一个数组中是否有满足改条件的元素,然后返回该元素,或者该元素的索引值。Javascript 给我们提供了多种方法,主要分为按值查找和某种条件查找,下面开始介绍这些方法????。1. ...

    前言

    有时候我们想以某种条件来查找一个数组中是否有满足改条件的元素,然后返回该元素,或者该元素的索引值。Javascript 给我们提供了多种方法,主要分为按值查找和某种条件查找,下面开始介绍这些方法📄。

    1. Array.prototype.includes()

    includes() 方法用来判断一个数组是否包含一个指定的值,如果包含则返回 true,否则返回 false。

    该方法支持两个参数valueToFind,fromIndex(可选),第一个参数是‘需要查找的元素值’,第二个参数是‘从哪个索引处开始查找’,第二个参数如果为负数,则会按升序从 array.length + fromIndex 的索引开始查找(即使从末尾开始往前跳 fromIndex 的绝对值个索引,然后往后搜寻)。

    var a = [1,2,3,4,5,6]

    a.includes(2) // true

    a.includes(2,3) // false

    a.includes(5,-2) // true

    a.includes(5,-1) // false复制代码

    2. Array.prototype.indexOf()

    indexOf() 方法返回指定元素在数组中的第一个索引,如果不存在,则返回-1。

    该方法支持两个参数searchElement,fromIndex (可选),第一个参数是‘要查找的元素’,第二个参数是‘开始查找的索引位置’,如果该索引值大于或等于数组长度,意味着不会在数组里查找,返回-1。如果参数中提供的索引值是一个负值,则将其作为数组末尾的一个抵消,即-1表示从最后一个元素开始查找,-2表示从倒数第二个元素开始查找 ,以此类推。 注意:如果参数中提供的索引值是一个负值,并不改变其查找顺序,查找顺序仍然是从前向后查询数组。如果抵消后的索引值仍小于0,则整个数组都将会被查询。其默认值为0。

    var array = [2, 5, 9];

    array.indexOf(2); // 0

    array.indexOf(7); // -1

    array.indexOf(9, 2); // 2

    array.indexOf(2, -1); // -1

    array.indexOf(2, -3); // 0复制代码

    3. Array.prototype.lastIndexOf()

    lastIndexOf() 方法返回指定元素在数组中的最后一个的索引,如果不存在则返回 -1。从数组的后面向前查找,从 fromIndex 处开始。

    该方法支持两个参数 searchElement,fromIndex(可选),第一个参数是‘被查找的元素’。第二个参数是‘从此位置开始逆向查找’,默认为数组的长度减 1(arr.length - 1),即整个数组都被查找。如果该值大于或等于数组的长度,则整个数组会被查找。如果为负值,将其视为从数组末尾向前的偏移。即使该值为负,数组仍然会被从后向前查找。如果该值为负时,其绝对值大于数组长度,则方法返回 -1,即数组不会被查找。

    var array = [2, 5, 9, 2];

    array.lastIndexOf(2); // 3

    array.lastIndexOf(7); // -1

    array.lastIndexOf(2, 3); // 3

    array.lastIndexOf(2, 2); // 0

    array.lastIndexOf(2, -2); // 0

    array.lastIndexOf(2, -1); // 3复制代码

    4. Array.prototype.some()

    some() 方法测试数组中是不是至少有1个元素通过了被提供的函数测试。它返回的是一个 Boolean 类型的值。

    语法:arr.some(callback(element[, index[, array]])[, thisArg])

    「参数」:

    callback:用来测试每个元素的函数,接受三个参数:

    element 数组中正在处理的元素。

    index 可选,数组中正在处理的元素的索引值。

    array 可选,被遍历的数组本身。

    thisArg: 可选,执行 callback 时使用的 this 值。

    下面的例子检测在数组中是否有元素大于 10。

    function isBiggerThan10(element, index, array) {

    return element > 10;

    }

    [2, 5, 8, 1, 4].some(isBiggerThan10); // false

    [12, 5, 8, 1, 4].some(isBiggerThan10); // true复制代码

    还可以使用箭头函数实现相同的效果。

    [2, 5, 8, 1, 4].some(x => x > 10); // false

    [12, 5, 8, 1, 4].some(x => x > 10); // true复制代码

    5. Array.prototype.every()

    every() 方法测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值。

    该方法的参数与 Array.prototype.some() 方法一样,这里就不再介绍了。它们两不同的是,some()只要数组中有一个元素满足条件就为真,every()要全部满足条件才为真。

    检测数组中的所有元素是否都大于 10。

    function isBigEnough(element, index, array) {

    return element >= 10;

    }

    [12, 5, 8, 130, 44].every(isBigEnough); // false

    [12, 54, 18, 130, 44].every(isBigEnough); // true复制代码

    6. Array.prototype.filter()

    filter() 方法创建一个新数组, 包含通过所提供函数实现的测试的所有元素。

    该方法的参数与 some(),every()相同,callback 用来测试数组的每个元素的函数。返回 true 表示该元素通过测试,保留该元素,false 则不保留。

    下例使用 filter 创建了一个新数组,该数组的元素由原数组中值大于 10 的元素组成。

    function isBigEnough(element) {

    return element >= 10;

    }

    var filtered = [12, 5, 8, 130, 35].filter(isBigEnough);

    // filtered is [12, 130, 35]复制代码

    7. Array.prototype.find()

    find() 方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined。

    该方法的参数与 some(),every(),filter()相同。

    用对象的属性查找数组里的对象。

    var inventory = [

    {name: 'apples', quantity: 2},

    {name: 'bananas', quantity: 0},

    {name: 'orange', quantity: 5}

    ];

    function findOranges(fruit) {

    return fruit.name === 'orange';

    }

    console.log(inventory.find(findOrange));

    // { name: 'orange', quantity: 5 }复制代码

    8. Array.prototype.findIndex()

    findIndex() 方法返回数组中满足提供的测试函数的第一个元素的索引。若没有找到对应元素则返回-1。

    该方法参数与 find() 相同,只是一个返回该元素,一个返回该元素在数组中的索引值。

    查找 name 为 orange 的对象在数组中的的索引。

    var inventory = [

    {name: 'apple', quantity: 2},

    {name: 'banana', quantity: 0},

    {name: 'orange', quantity: 5}

    ];

    function findOrange(fruit) {

    return fruit.name === 'orange';

    }

    console.log(inventory.findIndex(findOrange));

    // { name: 'orange', quantity: 5 }复制代码

    总结

    为了方便查找和记忆,我将这些方法总结成了一张表格📝。

    方法名

    参数

    描述

    返回值

    includes

    searchElement,fromIndex

    判断数组中是否包含指定的值

    布尔值

    indexOf

    searchElement,fromIndex

    查找元素在数组中首次出现的索引值

    索引值,或者-1

    lastIndexOf

    searchElement,fromIndex

    查找元素在数组中最后一次出现的索引值

    索引值,或者-1

    some

    callback[, thisArg]

    判断数组中是否有符合条件的元素

    布尔值

    every

    callback[, thisArg]

    判断数组中是否每个元素都符合条件

    布尔值

    filter

    callback[, thisArg]

    返回符合条件的所有元素组成的数组

    数组

    find

    callback[, thisArg]

    返回数组中符合条件的第一个元素

    数组中的元素,或者undefined

    findIndex

    callback[, thisArg]

    返回符合条件的第一个元素的索引

    索引值,或者-1

    展开全文
  • js数组查找元素常用方法总结

    千次阅读 2020-03-19 21:08:23
    JS数组查找元素常用方法总结indexOf(value,start)includes(value,start)find(fun,obj) 不推荐findIndex(fun,obj) 不推荐关键字in 不推荐不推荐find findIndex in的原因 indexOf(value,start) 返回元素所在下标 不...

    indexOf(value,start)

    返回元素所在下标 不存在返回-1
    value:查找元素
    start:开始查找的位置下标 默认为0 当start为负数时表示从该负数对应的下标元素向后查找 (数组最后一位元素的下标用负数表示为-1 倒数第二位元素表示为-2…以此类推)
    例子:
    在这里插入图片描述

    includes(value,start)

    判断元素是否存在 返回true/false
    value:查找元素
    start:开始查找的位置下标 默认为0 当start为负数时表示从该负数对应的下标元素向后查找 (数组最后一位元素的下标用负数表示为-1 -2对应倒数第二位元素…一次类推)
    例子:
    在这里插入图片描述

    find(fun,obj) 不推荐

    返回第一个符合条件的数组成员 没有返回undefined
    fun:回调函数 参数 value:当前元素 index:当前元素下标 array:数组
    obj:指定回调函数的对象(可不传)
    例子:
    在这里插入图片描述

    findIndex(fun,obj) 不推荐

    返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1。
    例子:
    在这里插入图片描述

    关键字in 不推荐

    判断元素是否存在于数组/对象 返回true/false
    例子:
    在这里插入图片描述

    不推荐find findIndex in的原因

    会把Number和String相互转换
    在这里插入图片描述

    array.findIndex(function(value,index,array){
        return value == '7'
    })
    //6
    
    展开全文
  • 查找数组是指从数组中查询指定位置的元素,或者查询某元素在指定数组中的位置。使用 Arrays 类的 binarySearch() 方法可以实现数组查找,该方法可使用二分搜索法来搜索指定数组,以获得指定对象,该方法返回要搜索...
  • 查找数组中指定元素

    千次阅读 2019-09-25 19:55:48
    if (arr[mid] ) { //若要查找元素比arr[mid]大 left = mid + 1; //left的值更新为mid加1 } else if (arr[mid] > tofind) { right = mid - 1; //right的值更新为mid减1 } else { ///若找到了要查找的数 ...
  • js数组查找一个目标元素方法

    万次阅读 2019-09-11 14:29:58
    使用find()方法查找数组中小于0的第一个成员 a.find( (n)=> n<0 ) 得到的值为 -5 使用findIndex()方法查找数组中小于0的第一个成员的位置 a.findIndex( (n)=> n<0 ) 得到的值为 3 ...
  • 获取数组某个元素的位置 indexOf this.regionName.indexOf(item.name) 删除数组中某一项 splice(起始位置,元素个数) this.regionName.splice(this.regionName.indexOf(item.name), 1)
  • function findall(a, x) { //a:数组,x:数组中的元素 var results = [], len = a.length, pos = 0 while (pos < len) { pos = a.indexOf(x, pos) if (pos === -1) ...
  • 查找数组元素 数组是C++语言重要的数据结构,对它的一些基本操作要熟练掌握。今天,我们就来讨论,如何实现数组元素查找? 案例描述 给你m个整数,查找其中有无值为n的数,有则输出该数第一次出现的位置,没有则...
  • 查找数组中是否有某个元素的四种方法 indexOf(searchElement[,fromIndex]) 官方定义:The **indexOf()** method returns the first index at which a given element can be found in the array, or -1 if it is not...
  • 查找数组某个元素的下标

    千次阅读 2020-04-14 17:15:03
    /* Note:Your choice is C IDE */ ...//查找数组某个元素的下标 void dele(int *p,int b,int n); int main() { int a[5]={2,4,3,1,7}; int i,b,n=5,*p=a; printf("遍历\n"); for(p=a;p<a+n;p++){ print...
  • Java数组查找元素的方法

    千次阅读 2020-08-15 20:43:51
    binarySearch()方法提供多种重载形式,用于满足各种类型数组查找需要。 1 binarySearch(Object[], Object key) 第一个参数: 要搜索的数组 第二个参数:要搜索的值 示例代码 import java.util.Arrays; import java....
  • Java数组元素查找

    2022-01-09 15:51:52
    数组元素查找的两种方法: 线性查找。 二分法查找。 二分法查找说明图: 代码部分: public class ArrayTest2 { public static void main(String[] args) { String[] arr = new String[]{"JJ","DD","MM",...
  • js 对象数组查找元素常用方法

    千次阅读 2018-09-26 21:53:00
    let the_spec_List_Vaule = res.Data.Spec_List_Vaule.find(function(x) { return x.Spec_Item_List == propertyChildIds; })
  • js查找数组元素位置

    千次阅读 2021-09-28 15:25:07
    找出元素 item 在给定数组 arr 中的位置如果数组中存在 item,则返回元素数组中的位置,否则返回 -1 例 [ 1, 2, 3, 4 ], 3 // 输入: 2 // 输出: function indexOf(arr, item) { return (arr.indexOf(item))...
  • 数组的find方法 查找方法 Array.find(item,index) // 有两个参数 item : 数组中的每一项 index : 数组中每一项的下标 有返回值 : 返回值为符合条件的元素的 值 无符合条件元素则返回 undefined let arr ...
  • Java在数组查找指定元素的方法

    千次阅读 2021-02-12 14:37:31
    Java在数组查找指定元素我们是用什么方法来实现呢,是使用遍历查找还是使用其它的方法来查找呢,下面给各位整理了一些查找数组元素的例子。以下实例演示了如何使用 contains () 方法来查找数组中的指定元素:例子1...
  • 如何在python列表中查找某个元素的索引方法一: 利用数组自身的特性 a.index(target), 其中a是目标list,target是需要的下标对应的值。代码如下: 可知索引为2。但是如果a中有多个76元素,这种方法仅仅能获取都第一...
  • Java在数组查找指定元素

    千次阅读 2021-02-27 20:05:20
    以下实例演示了如何使用 contains () 方法来查找数组中的指定元素:import java.util.ArrayList;public class Main {public static void main(String[] args) {ArrayList objArray = new ArrayList();ArrayList ...
  • 查找数组中和为某个值的元素对的个数。 2--sum。 http://blog.csdn.net/qq575787460/article/details/39085999的资源
  • C++关于数组元素的快捷查找

    千次阅读 2021-02-06 20:55:38
    在一个数组查找某个元素的位置方法有线性查找和折半查找两种。 先说线性查找,即为遍历数组的所有元素,若找到相对应的值则打印其索引值。 #include<cstdio> int main(){ int a[1000000],n,k,m; scanf("%d%...
  • 数组查找指定元素

    千次阅读 2020-03-17 19:58:37
    import java.util.ArrayList; public class Main9 { public static void main(String[] args) { ... System.out.println("objArry2是否包含数组objArray? : "+objArray); objArray2.contains(objArray); } }
  • const arr = [] for(let i=0; i; i++) { arr.push(`ahdgd${i}`) } console.time('indexOf') arr.indexOf('ahdgd10000') ...数组也是对象,数组元素相当于以下标和对应的值存在的建值对。
  • var array = [1,2,3,'4']; var indexOf4 = (array || []).findIndex((item) => item === '4'); console.log(indexOf4); // 3 var profiles= [ { id: 'id123', name: "lin", age: 23 ... .

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 209,932
精华内容 83,972
关键字:

数组查找某个元素