JS中 map, filter, find, findIndex,some, every, forEach, for in, for of 用法

JS中 map, filter, find, findIndex,some, every, forEach, for in, for of 用法

总结:
map():返回一个新的Array,每个元素为调用func的结果
filter():返回符合func条件的元素数组
find():返回第一个符合条件的元素对象
findIndex():返回第一个符合条件的元素对象的位置(索引)
some():返回一个boolean,判断是否有元素是否符合func条件,只要存在一个符合就结束
every():返回一个boolean,判断每个元素是否符合func条件
forEach():没有返回值,只是针对每个元素调用func
1.map
有返回值,返回一个新的数组,每个元素为调用func的结果。

let list = [1, 2, 3, 4, 5];
let other = list.map(value =>  value * 2);
console.log(other);// [2, 4, 6, 8, 10]

2.filter
有返回值,返回符合func条件的元素数组

let list = [1, 2, 3, 4, 5];
let other = list.filter((value) => value % 2);
console.log(other);// [1, 3, 5]

3.find
有返回值,返回第一个符合条件的元素对象。如果没有符合条件的成员,则返回undefined。

var arr = [{name: '张三', age: 12}, {name: '李四', age: 14}];
var obj = arr.find(i => i.name === '张三');
console.log(obj);//  {name: '张三', age: 12}

4.findIndex
有返回值,返回第一个符合条件的数组成员的位置(索引)。如果所有成员都不符合条件,则返回-1。

[1, 2, 5, -1, 9].findIndex(n => n < 0)  // 3

5.some
返回一个boolean,判断是否有元素符合func条件,如果有一个元素符合func条件,则循环会终止。

```javascript
let list = [1, 2, 3, 4, 5];
list.some(value => value > 3);  //  true

6.every
返回一个boolean,判断每个元素是否符合func条件,有一个元素不满足func条件,则循环终止,返回false。

let list = [1, 2, 3, 4, 5];
list.every(value=>  d < 3 );   // return false

7.forEach
没有返回值,只针对每个元素调用func。
优点:代码简介。

缺点:无法使用break,return等终止循环。

let list = [1, 2, 3, 4, 5];
let other = [];
list.forEach(d=>  other.push(d * 2));
console.log(other);
// print: [2, 4, 6, 8, 10]

8.for in
for-in循环实际是为循环”enumerable“对象而设计的,for in也可以循环数组,但是不推荐这样使用,for–in是用来循环带有字符串key的对象的方法。

缺点:**只能获得对象的键名,不能直接获取键值。但其实也可以arr[k]获取键值

var obj = {a:1, b:2, c:3};
for (var k  in obj) {
 console.log("obj." + k + " = " + obj[k]);
}        //  "obj.a = 1" "obj.b = 2" "obj.c = 3"

9.for of
循环可以使用的范围包括数组、Set和Map结构、某些类似数组的对象(比如arguments对象、DOM NodeList对象)、后文的Generator对象,以及字符串。

// 字符串
let str = "hello";
for (let s of str) {
 console.log(s); // h e l l o
}

// 遍历数组
let list = [1, 2, 3, 4, 5];
for (let e of list) {
  console.log(e);
}    //  1 2 3 4 5

// 遍历对象
obj = {a:1, b:2, c:3};
for (let key of Object.keys(obj)) {
 console.log(key, obj[key]);
}       // a 1 b 2 c 3
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: JavaScriptmap()方法用于遍历数组,并将数组的每个元素传递给回调函数进行处理,然后将处理结果组成一个新的数组返回。与for循环和forEach方法不同,map()方法返回一个新的数组,而不会改变原始数组。例如,我们有一个数组arr = [1, 2, 3,我们可以使用map()方法将每个元素乘以2,并将结果存储在新数组brr: var arr = [1, 2, 3]; var brr = arr.map(function(item, index) { return item * 2; }); console.log(brr); // [2, 4, 6] 在上面的示例map()方法将数组arr的每个元素传递给回调函数,并将处理结果存储在新数组brr。最后,我们打印出新数组brr,结果为。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [js的for循环、mapforEach、for in、for of、Object.keys()](https://blog.csdn.net/alokka/article/details/103083140)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *3* [jsmap、find、findIndex、some、every、filter、reduce等常用循环遍历](https://blog.csdn.net/weixin_43644007/article/details/127262281)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值