返回数组中指定元素的下标-课后程序(JavaScript前端开发案例教程-黑马程序员编著-第3章-课后作业)

【案例3-2】 返回数组中指定元素的下标

一、案例描述

  1. 考核知识点

indexOf()

  1. 练习目标
  • 掌握indexOf()方法的使用
  1. 需求分析

indexOf()返回某个指定的字符串值在字符串中首次出现的位置,indexOf()方法对大小写敏感!如果要检索的字符串值没有出现,则该方法返回 -1。本案例使用indexOf()来查找数组中元素d出现的次数,并返回其对应的所有索引的下标。

  1. 案例分析
  1. 效果如图3-2所示。

 

  1. 返回所有d的坐标和出现的次数

  1. 具体实现步骤如下:
  1. 定义一个数组arr,存放数组元素。
  2. 定义findall()函数,返回对应所有索引下标。
  3. 定义count()函数,返回d元素出现的次数。
  4. 在页面中输入索引下标和出现次数。

二、案例实现

根据上面的分析,可以通过简单的JavaScript代码来实现这一效果,具体代码如下:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <title>返回数组中指定元素的下标</title>
  6. </head>
  7. <body>
  8.     <script>
  9.           // 查找数组中元素d返回其对应的所有索引的下标
  10.         function findall(a,x){
  11.            var results=[],
  12.            len=a.length,
  13.            pos=0;
  14.            while(pos < len){
  15.                pos= a.indexOf (x,pos);
  16.              if(pos === -1){ //未找到就退出循环完成搜索
  17.                      break;
  18.              }
  19.              results.push(pos); // 找到就存储索引
  20.              pos+=1;  // 并从下个位置开始搜索
  21.             }
  22.                 return results;
  23.         }
  24.         var arr = ['a','b','d','d','c','d','d'];
  25.         document.write(findall(arr,'d')) // 返回d元素的下标[2,3,5,6]
  26.          
  27.          //  找到元素d出现的次数
  28.         function count(arr, item) {
  29.             var number = 0;
  30.             for(var i=0;i<arr.length;i++) {
  31.                 if(arr[i]==item){
  32.                     number++;
  33.                 }
  34.             }
  35.             return number;
  36.         }
  37.         document.write('</br>'+count(arr,'d')) // 4
  38.     </script>
  39. </body>
  40. </html>

保存后,在谷歌浏览器中预览,效果如图3-2所示。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaozhima-dun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值