查找数组中指定元素

查找数组中指定元素,第1张

定义一个对象数组

find()方法为数组中的每个元素都调用一次函数执行,

当数组中的元素在测试条件时返回true,find()返回符合条件的元素, 之后的值不会再执行函数。

如果没有符合条件的元素则返回undefined。

filter():创建一个新数组,新数组中的元素是通过检查指定数组中符合条件的 所有元素

value:必须,代表当前元素,其他四个参数都是可选,index代表当前索引值,arr代表当前的数组,thisValue代表传递给函数的值,一般用this值,如果这个参数为空,undefined会传递给this值

返回值:返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值

forEach():用于调用数组每个元素,并将元素传递给回调函数( 注意 没有办法跳出或终止 forEach语句 ,除非抛出异常)

value:必须,代表当前元素,其他四个参数都是可选,index代表当前索引值,arr代表当前的数组,thisValue代表传递给函数的值,一般用this值,如果这个参数为空,undefined会传递给this值

find()方法主要用来返回数组中符合条件的第一个元素(没有的话,返回undefined)

filter()方法主要用来筛选数组中符合条件的所有元素,并且放在一个新数组中,如果没有,返回一个空数组

map()方法主要用来对数组中的元素调用函数进行处理,并且把处理结果放在一个新数组中返回(如果没有返回值,新数组中的每一个元素都为undefined)

forEach()方法也是用于对数组中的每一个元素执行一次回调函数,但它没有返回值(或者说它的返回值为undefined,即便我们在回调函数中写了return语句,返回值依然为undefined)

for in 和for of 不建议用

#include

<stdio.h>

#include

<stdlib.h>

void

main()

{

int

b[7]

int

i,

j,

dup

randomize()

/*

这一段代码可保证数组

b

内的

7

个随机数都不一样

*/

for

(i

=

0

i

<

7

++i)

{

do

{

b[i]

=

rand()

%

36

/*

产生随机数

*/

dup

=

0

/*

先假设没有重复

*/

for

(j

=

0

j

<

i

&&

!dup

++j)

/*

跟已经产生的数字一一比较

*/

{

if

(b[i]

==

b[j])

/*

如果重复了

*/

dup

=

1

/*

就记住是重复了

*/

}

}

while

(dup)

}

/*

这一段只是把结果打出以作验证

*/

for

(i

=

0

i

<

7

++i)

printf("%d

",

b[i])

printf("\n")

}

如果有看不懂的地方,请继续追问,一定会解释清楚。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12043848.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存