美文网首页
js数组的操作

js数组的操作

作者: bjhu电net | 来源:发表于2017-10-25 16:24 被阅读0次

基本数据类型

undefined,null,boolean,string,number是基本数据类型,es6新增加了sysbol数据类型。

数组的定义

var names=[];  //定义数组并初始化空
names=[1,2,3];//数组赋值
names=new Array();//定义数组并初始化为空
names=new Array(5);//初始化数组并定义数组的长度
names=new Array(1,2,3)//初始化数组并赋值
names=new Array.of(1,2,3)//初始化数组并赋值,解决new Array的歧义问题

增删改查

//元素增加
names[4]="wang";//通过赋值,直接添加元素
names.unshift("zhang","liu");//首部添加
names.push("san");//尾部增加

//元素删除
var item = names.pop();//删除并获取最后一项
item=names.shift();//删除并获取第一项
names.splice(2,1,"a","b");//删除添加数据,修改源数组,第一个参数表示开始删除的位,第二个参数表示要删除的数目,后面的参数表示在删除的位置处添加的元素

//元素读取查找
var nameitem=names[2];//使用[]读取数组,这是简单的读取方式
names=names.slice(-4,6);//读取数组段,不修改源数组,负数表示从右向左数,-1表示末尾第一个元素,0表示首部第一个元素。只有一个参数时表示直到末尾,读取索引包含第一个参数,不包含第二个参数。
names.indexOf("liu");//查找匹配元素的位置,没有找到返回-1;lastIndexoOf表示最后匹配的位置。

//元素的拼接和字符串表示
names=names.concat("xiaowan",["xiaozhan","xiaosan"]);//拼接数组,不修改源数组,所以要重新赋值
var str=stringnames.join(",");//使用间隔字符串连接数组

遍历

var boolresult=names.every(function(item,index,array){
      return (index>2)
});//对数组元素的每一项进行布尔运算,返回false或true.every函数,全部元素返回true时返回true.some函数某一元素返回true时返回true.

var nameresult=names.filter(function(item,index,array){
       return (index>2)
});//返回数组,filter函数获取满足条件的项,map函数获取每一项计算值的集合,不改变原数组,forEach等价于for语句,对每一项处理。

nameresult=names.reduce(function(prev,cur,index,array){
      return prev+""+cur;
});//reduce从前向后迭代,reduceRight从后向前迭代。迭代从第二项开始,prev初始值为第一项,cur初始值为第二项,计算值自动传给下一函数的prev,返回最后一次迭代产生的值。

map具有修改原数组得到新数组的能力,而filter只能去过滤源数组中的项,得到一个新数组。reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。就是将数组中的每一个元素进行运算后返回一个总数。
注意: reduce() 对于空数组是不会执行回调函数的。

排序

names.reverse();//数组取反
names.sort();//数组排序sort(compare),参数可为排序函数,空元素将排到最后。
function compare(student1,student2){
  return student2.age-student1.age;
}//比较函数,返回-1,0,1

简化一下:a-b输出从小到大排序,b-a输出从大到小排序。

数据原型

自定义数组原型函数,实现为所有数组添加功能

function array_max(){
    return Math.max.apply(Math,this);
}
Array.prototype.max=array_max;//重写数据原型链
var x=new Array(1,2,3,4,5);
var y=x.max();

相关文章

  • js笔记

    js数组 删除某个元素 js数组是否含有某个元素 判断value为undefined cookie操作

  • JS jsonArray操作

    JS jsonArray操作 js对数组对象的操作以及方法的使用 如何声明创建一个数组对象:var arr = n...

  • JS对象 & JSON & JS数组操作

    JS对象 & JSON & JS数组操作 JSON 格式(JavaScript Object Notation 的...

  • js基础了解

    js数组常用遍历方法使用: js数组常用操作方法使用: 基本逻辑运算: 基本字符串操作方法:

  • JS文集的目录

    js基础心法 深浅拷贝(递归)深浅拷贝(首层浅拷贝) js 数据处理 数组对象查找的常见操作数组对象去重的常见操作...

  • js对象数组操作 数组操作

    var numbers = [1, 2, 3];var newNumbers1 = numbers.map(fun...

  • JS数组操作

    splice 用于一次性解决数组添加、删除(这两种方法一结合就可以达到替换效果),方法有三个参数 开始索引 删除元...

  • JS数组操作

    1.栈方法 push()和pop() 后入先出 push():末尾追加 pop():末尾弹出 2.队列方法 先入先...

  • js 数组操作

    遍历删除元素: 遍历数组:for循环遍历: forEach遍历:

  • js数组操作

    一、改变原数组的方法 a.reverse() 将数组逆序,会修改原数组 a.sort 对数组进行排序, 需要传入自...

网友评论

      本文标题:js数组的操作

      本文链接:https://www.haomeiwen.com/subject/hzmqpxtx.html