JavaScript:利用indexof()函数统计数组中的元素,并返回小标

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <meta http-equiv="X-UA-Compatible" content="IE=edge">
 6     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 7     <title>利用indexof()函数统计数组中的元素,并返回小标</title>
 8 </head>
 9 <body>
10     
11 </body>
12 <script>
13     var arr = ['a','b','d','d','c','d','d'];//查找元素所在的数组
14     var brr = [];//存储下标的空数组
15     var search = 'd';//要查找的元素
16     var sum = 0;//arr数组中元素出现次数统计
17     var a = b = 0;
18     if(arr.indexOf(search) === -1){//查找的元素不存在
19         document.write("元素"+search+"不存在");
20     }else if(arr.indexOf(search) > -1){//防止返回的下标为0,if判断为false
21         for (var i = 0;i < arr.length;i++) {//遍历数组arr
22             a = arr.indexOf(search,i);//通过遍历查找search的每一个下标
23             if(brr.indexOf(a) === -1){//判断brr数组是否含有相同的下标
24                 brr[b] = a;//将下标存入brr数组中
25                 b++;
26                 sum++;
27             }
28         }
29     }
30     document.writeln(search+"共出现"+sum+"次。");
31     for (const i in brr) {
32         document.writeln("下标为:"+brr[i]);
33     }
34 </script>
35 </html>
原文地址:https://www.cnblogs.com/yunlan/p/14619254.html