首页 > 语言 > JavaScript > 正文

Javascript之高级数组API的使用实例

2024-05-06 15:41:49
字体:
来源:转载
供稿:网友

JS中我们可以根据需求新建新的对象解决问题的同时,也有一些常用的内置对象供我们使用,我们称之为API,本篇文章只是对数组部分进行了练习。

例一:伪数组,不能修改长短的数组(所以没办法清零),可以修改元素,代码实现如下:

<script>fn(1,2);  fn(1,2,3,4,5,6);  fn(1,2,4,5,7,9,4);  function fn(a,b){  arguments[0]=0;  console.log(arguments);  arguments.push(1);  console.log(arguments instanceof Array);  console.log(arguments.length);//实参个数  console.log(fn.length);//形参个数  console.log(arguments.callee);//整个函数,包括注释  }</script>

伪数组打印的是实参,而普通函数调用打印的是形参,并且打印它的函数类型,我们发现它的类型显示并不是数组。

例二:将一个字符串数组输出为|分割的形式,比如“刘备|张飞|关羽”。使用两种方式实现

方法一:不利用内置对象,进行字符串拼接,由于第一个元素前没有特殊符号,首先将其赋值后,循环从下一个元素开始遍历

<script>var arr=["刘备","张飞","关羽"];var str=arr[0];for(var i=1;i<arr.length;i++){  str+="|"+arr[i];}console.log(str);</script>

方法二:使用内置对象直接改变间隔符号

<script>var arr=["刘备","张飞","关羽"];var str=arr.join("|");console.log(str);</script>

两种方法进行对比,我们发现第一种方法使之产生了大量内存,导致内存浪费情况,从此看出对我们来说内置对象的使用帮我们解决了内存浪费的缺点。

例三:将一个字符串数组的元素的顺序进行反转。["a","b","c","d"] ->["d","c","b","a"]。使用两种种方式实现。

方法一:之前文章介绍过的方法

<script>var str1=["a","b","c","d"];var str2=[];for(var i=0;i<str1.length;i++){  str2[str1.length-i-1]=str1[i];}console.log(str2);</script>

方法二:直接使用内置对象reverse()解决

<script>var str1=["a","b","c","d"];console.log(str1.reverse());</script>

例四:工资的数组[1500,1200,2000,2100,1800],把工资超过2000的删除

使用内置对象filter()实现题目需求。

<script>var arr=[1500,1200,2000,2100,1800];var arr1=arr.filter(function(element,index,array){  if(element<=2000){    return true;  }  return false;})console.log(arr1);</script>

例五:["c","a","z","a","x","a"]找到数组中每一个元素出现的次数

由于题目给出字符形式,让我们求出的相应字符的个数为数字形式,这让我们应用json更方便问题解决,将题目给出的字符作为“键”,将次数作为“键值”,来判断数组中的元素,在json中是否存在属性值,如果存在,在原有基础上加上1;如果不存在直接赋值为1。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选