JavaScript中数组遍历方法array.some()的应用,数组遍历操作的方法

一、为什么要使用array.some()

        因为它简单,好用,清晰,可拓展性强,而且比for、foreach还有非常不常用的while、do...while高级,代码清晰,可读性强,代码就看起来很优雅,如果都是嵌套循环和嵌套回调,看起来就是一团乱麻,可读性差,很不优雅。

        要做优雅的程序员,写优雅的代码。

二、array.some()的使用与技巧

2.1、基本语法

array.some(callback(element , index , array))

         其中element是array中的每个元素,index是当前元素的索引,array是元素所在的数组本身。只有element是必选的参数,index和array是可选的。

2.2、返回值

  • 如果callback函数在数组的任何元素上返回true,则array.some()返回true。
  • 如果callback函数对所有元素都返回false,则array.some()返回false。

2.3、使用技巧

        综上所述,array.some()常用来处理遍历数组元素并且寻找所需要的元素。

2.3.1、检查数组中是否有任何正数

        举个最简单的例子,检查数组中是否有任何正数:

// 示例 1:检查数组中是否有任何正数

const numbers = [-1, -2, -3, 0, 1, 2];

const hasPositive = numbers.some(num => num > 0);

console.log(hasPositive); // 输出:true

2.3.2、检查数组中是否有任何正数,如果有,则输出正数并计算正数的和,如果没有则输出0

        难度稍微上调一点,检查数组中是否有任何正数,如果有,则输出正数并计算正数的和,如果没有则输出0:

// 示例 2:检查数组中是否有任何正数,如果有,则输出正数并计算正数的和,如果没有则输出0

const numbers = [-1, -2, -3, 0, 1, 2];
var sum = 0;

const hasPositive = numbers.some(num =>{
    if( num > 0){
        console.log(num);
        sum += num;
    }
});

console.log("所有正数的和为:",sum); // 输出正数的和

2.3.3、实战常用,处理json数据中的对象(处理键值、统计属性名出现次数等等等等)

        很多json文件里面就是数组,实际需求中数组很多时候会用来存放对象,比如这个例子,就是检查数组中的对象哪些人刚满18岁~

// 示例 3:检查数组中是否有刚满18岁的对象

const people = [
  {
    name: "张三",
    age: 20,
    hobby: "唱歌",
  },
  {
    name: "李四",
    age: 18,
    hobby: "跳舞",
  },
  {
    name: "王五",
    age: 18,
    hobby: "打篮球",
  },
  {
    name: "赵六",
    age: 21,
    hobby: "打篮球",
  },
];

const ageEquals18 = people.some((person) => {
  if (person.age === 18) {
    console.log(person.name, "刚满18岁");
  }
});

三、总结

        array.some()又简单又好用,网上的课程讲得还很少,早学早用早优雅。

        博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~

  • 12
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值