1.数组(Array)

数组(Array):就是一组数据的集合,存储在单个变量下的优雅的方式

2 创建数组
            1.)利用new创建数组
            var arr1 = new Array(2)
           (里面只有一个值)这里的2 表示 数组的长度为2,里面有两个空的数组元素
            var arr1 = new Array(2, 3)

里面放两个值及以上,就相当于创建了一个数组)等价于使用字面量创建[2,3],这样写表示里面有两个元素,是2和3
            console.log(arr1)

2.)利用数字字面量创建数组 []
            var arr = [];
            创建一个空的数组

数组里面的数值之间可以通过逗号进行分割
            var arr1 = [1, 2, 'pink', true]
            这种声明数组并赋值我们称之为数组的初始化
            数组里面的数据  比如1,2,'pink老师',true ,我们称之为数组元素.

3.检测是否为数组

1)instanceof 运算符    它可以用来检测是否为数组

            var arr = [];console.log(arr instanceof Array);

案例:翻转数组:

            // 翻转数组补充function reserve(arr) {// if (arr instanceof Array) {//第一种判断是否为数组的方式if(Array.isArray(arr)){//第二种判断是否为数组的方式var newArr = [];newArr.length;for (var i = arr.length - 1 ; i >= 0; i--) {newArr[newArr.length] = arr[i];}return newArr;} else {return '这个参数要求必须是数组格式'}}console.log(reserve([1,3,4,5,6]));//正常将数组进行翻转然后输出console.log(reserve(1,3,4,5,6));//因为该数组传入的不是数组,所以正常打印输出这个参数要求必须是数组格式

2)Array.isArray() (H5新增  ie9以上的版本才可以支持) 也是检测是否为数组  返回值  只有false 和 true

            var arr=[];var obj={};console.log(Array.isArray(arr));  //输出arr是一个数组   trueconsole.log(Array.isArray(obj));   // 输出obj不是一个数组  false

4.添加数组元素

1)push()  在我们数组的末尾 添加一个或者多个数组元素 push 在末尾进行追加

            var arr=[1,2,3];arr.push(4,'pink')console.log(arr)// 追加的元素在push里面用逗号进行分开

注意点:1)push 是可以在数组末尾追加新的元素
               2)push() 参数在括号里面直接写数组元素就可以了
               3)push 完毕之后 ,返回的结果是新数组的长度
               4) 原数组也会发生变化

2)unshift  在我们数组的开头,添加一个或者多个数组元素  unshift是在数组开头进行添加

         arr.unshift('red','pink')console.log(arr)// 这里进行打印同一个数组,会对之前的数组进行追加

注意点: 1)unshift 是可以在数组开头追加新的元素
                 2)unshift() 参数在括号里面直接写数组元素就可以了
                 3)unshift 完毕之后 ,返回的结果是新数组的长度
                 4) 原数组也会发生变化

5,删除数组元素

1)pop()他可以删除数组的最后一个元素

            console.log(arr.pop());console.log(arr);

注意点:1)pop 是可以删除数组的最后一个元素,记住一次只能删除一个元素
                2)pop() 是没有参数的
                3)pop完毕之后 ,返回的结果删除的那个数组
                4) 原数组也会发生变化

2)shift() 他可以删除数组的第一个元素

            console.log(arr.shift());console.log(arr);

注意点: 1)shift 是可以删除数组的第一个元素,记住一次只能删除一个元素
                 2)shift() 是没有参数的
                 3)shift 完毕之后 ,返回的结果删除的那个数组
                 4) 原数组也会发生变化

6.         splice(star,num,insert)  通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组。
           star 删除元素开始的位置  num删除元素的个数  insert 是想要插入的元素

            var arr11=[1,2,3];var splice=arr11.splice(2,1);// splice(stare,num)  里面的第一个数字代表的是,删除数组元素的起始位置,第二个数字是需要删除几个元素console.log(splice);console.log(arr11)var arr12=[1,2,3,4,5,6,7,8,9];var splice=arr12.splice(2,1,'red'); // 从第二个元素开始,删除一个元素,并追加为redconsole.log(arr12)

7. slice  截取指定开始位置到结束位置的字符串。

var str18 = ['ab','aas','dff','ggg','hhj','jkk','gfd','dss','sss',3,4,4,3,3,3,4];console.log(str18.slice(2, 10));// slice 的截取数值的方式这里面的数字2是开始的索引号位置,10是截取的结束索引号位置,但是截取的方式为[start,end)var str19 = ['ab','aas','dff','ggg','hhj','jkk','gfd','dss','sss',3,4,4,3,3,3,4];console.log(str19.slice(-4));//表示提取原数组中的倒数第四个元素到最后一个元素(包含最后一个元素)。var str20 = ['ab','aas','dff','ggg','hhj','jkk','gfd','dss','sss',3,4,4,3,3,3,4];console.log(str20.slice(5, -2));//表示从第索引号为5的元素开始抽取,抽取到数组的倒数第二个元素(但是不包含倒数第二个元素)// slice的参数不支持slice(begin,end)  begin为负数,end为正数,因为slice里面为负值时,是从倒数第一个元素开始抽取,如果抽取开始的位置为负,停止的位置为正,则不会显示结果

8.   concat()方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。

         var arr21=['a','b','c'];var arr22=[1,2,3];var arr23=arr21.concat(arr22);console.log(arr23);

小练习:筛选数组元素案例:要求将[1500,1200,2000,2100,1800]里面大于2000的删除,剩余的数字放到新的数组里面

            var arr=[1500,1200,2000,2100,1800];var newArr=[];for (var i=0 ;i<arr.length;i++){if(arr[i]<2000){// newArr[newArr.length]=arr[i];newArr.push(arr[i]);}}console.log(newArr)

9.数组排序

1)翻转数组   reverse

var arr=['关羽','张飞','马超','赵云','黄忠','刘备','诸葛亮','姜维','pink'];arr.reverse();console.log(arr);

2)数组排序(冒泡排序)

            var arr1=[1,4,56,87,34,97];arr1.sort(function(a,b){return a - b;  //按照升序的顺序排列// return b - a;  //按照降序的顺序排列});console.log(arr1);

10.获取索引值的方法

1)indexOf(数组元素,起始位置)  这里的起始位置,就是从所要求开始查找的地方进行查找

作用:1)作用就是返回该元素的索引号  从前面开始查找
                   2)它只返回一个第一个满足条件的索引号
                   3)它如果在该数组里面找不到元素,返回的就是 -1

var arr=['关羽','张飞','马超','赵云','黄忠','刘备','诸葛亮','姜维','pink'];console.log(arr.indexOf('诸葛亮'));

2)lastIndexOf(数组元素,起始位置)

作用:1)作用就是返回该元素的索引号  从后面开始查找
                   2)它只返回一个第一个满足条件的索引号
                   3)它如果在该数组里面找不到元素,返回的就是 -1

            console.log(arr.lastIndexOf('诸葛亮'));//索引号的顺序是不会更改的,只不过lastIndexOf是从后面开始查找

11.数组转化为字符串

1)toString() 将我们的数组转换为字符串

     var arr=[1,2,3];console.log(arr.toString());// 这里输出的结果就是 1,2,3 这里是转换为字符串进行输出

2)join(分隔符)

        var arr1=['green','blue','pink'];console.log(arr1.join());// 输出的结果为:green,blue,pink//里面没有添加分隔符,默认情况是使用逗号进行分割console.log(arr1.join('-'));// 输出的结果为:green-blue-pink//分隔符使用的是-进行分隔,打印输出的时候就是使用 - 进行分隔

数组去重案例:(重点)  ['c','a','z','a','x','x','c','b','a']对该数组去除重复数据

核心算法:我们遍历旧数组,然后拿着旧数组元素去查询新数组,如果该元素在新数组里面没有,我们就添加,否则就不添加
       如何判断元素是否存在:利用数组 indexOf(数组元素),如果返回的是-1 就说明数组里面没有该数组元素,返回值不是-1,就说明里面已经存在该数组元素。

        function unique(arr){var newArr=[];for(var i=0 ; i<arr.length ; i++){if (newArr.indexOf(arr[i])==-1){//判断旧数组当中的元素在新数组当中的返回值是否为-1newArr.push(arr[i]);// 返回值是-1就追加到新数组当中}}return newArr;}var demo=unique(['c','a','z','a','x','x','c','b','a']);console.log(demo);

javascript对象——数组对象相关推荐

  1. JavaScript获取数组对象里面的键(key)和值(value)

    JavaScript获取数组对象里面的键key和值value对象键值 知识回调 场景复现 三种方法获取数组对象里的键值 1.Object.keys() 2.Object.entries(obj) 3. ...

  2. 综合演练 对象数组 对象的方法 我们9203班 0912

    综合演练 对象数组 对象的方法 我们9203班 0912 需求 需要有一个班级对象,对学生对象进行管理 班级类说明 类名称MyClass 属性,name,班级名称,初始值9203 班级有29名学生,定 ...

  3. android 接收js对象数组,java怎么接收js 数组对象数组对象

    java怎么接收js 数组对象数组对象 [2021-02-04 22:25:34]  简介: php数组转js数组对象的方法:首先获取[$arr]数组:然后使用函数[json_encode()]将数组 ...

  4. Javascript的数组对象

    创建和定义数组: 1.r mycars=new Array(); //不定义数组的长度,可以随意放值 mycars[0]="1" mycars[1]="2"2. ...

  5. JavaScript类数组对象参考

    JavaScript和DOM中有很多类数组对象,它们有以下特点 1.有length属性 2.可以使用[]通过下标访问 3.部分类数组对象使用[]访问成员时不只可以使用下标,还可以使用id或name 4 ...

  6. JavaScript:数组对象去重的几种方法

    数组对象去重 元素是对象类型的数组的去重我这粗分为两类,一类是当数组中整个元素一样时的去重(这里说的一样是指元素对象中的属性和值都一样),第二类是,元素对象中的某一个属性的值一样时进行去重 // 通用 ...

  7. JavaScript中数组对象方法总结

    目录 如何创建一个数组 数组的类型转换与检测 解构赋值及三点运算符(展开语法) 数据出栈入栈操作 splice与slice实现数组的增删改查 清空数组的多种操作 拆分和合并 数组的查找 include ...

  8. java ajax json 解析json数组对象数组对象数组对象数组_ajax传递包含对象数组的json数据...

    一个简单的demo.用户在前台页面表单输入数据表的信息,数据传递到后台,系统自动在后台创建数据库表(table)的功能. 作为简单demo,这里的表只有"表名","列名& ...

  9. json 解析 转java对象数组对象数组对象_json字符串转java对象数组

    需要引入json-lib-2.2-jdk15.jar和ezmorph-1.0.6.jar包 String itemStar = request.getParameter("itemStar& ...

  10. php怎么创建对象数组对象数组对象,在PHP中把对象当数组使用

    在PHP中把对象当数组使用 我们了解,JAVASCRIPT中,对象的属性.方法,是可以用数组的模式来访问的.但通常情况下是不可能的. 为什么要这么做?这是因为,通过这一方式,可以更加方便地操作对象,我 ...

最新文章

  1. python 获取中文文件名的输出
  2. plsql与64位的Oracle关联方法
  3. 4G+宽带高歌猛进:移动双线虐杀联通
  4. python-语言播报
  5. 【HTML+CSS】练习:百度首页模拟
  6. 013. MVC5过滤器
  7. 爱的回忆(散文诗 长篇连载)
  8. jdk api 1.8 中文版 下载
  9. Objective C TCP 通讯实例
  10. 【5G手机漏接电话问题解决方式】
  11. QtCharts:给QChartView换肤,换背景色添加背景图片
  12. 何钦铭.c语言程序设计,《C语言程序设计》 - 何钦铭
  13. 最新2018.1.1深度学习平台搭建 Win10+GPU+Tensorflow+keras+CUDA --2018.1.1
  14. Python兔子繁衍问题
  15. 华为中兴为何对未来信心十足?
  16. AR红包大战,抢的不是钱而是发展机会
  17. Apollo第五讲——Apollo定位模块
  18. 小功率直流电机的驱动电路
  19. 一名武大同学的春招48小时
  20. 学习java的第17天

热门文章

  1. ECM(Enhanced Compression Model )新技术
  2. angularJs的input验证提醒
  3. 游戏设计模式杂谈(一)
  4. 后台基础权限框架搭建实现[木字楠博客]
  5. 『黑马全攻略』之入学论坛篇
  6. 最新版idea申请学生免费使用方法
  7. 【ENVI条件下的GF6-WFV数据处理相关问题】——想到哪里写到哪里
  8. mysql用macbookair,Macbook air OS X Yosemite10.10.5安装MYSQL
  9. 员工信息管理系统语言论文c,C语言课程设计 职工信息管理系统.doc
  10. Java 期末试题之GeoJSON