zoukankan      html  css  js  c++  java
  • javascript数组认识

    ECMAScript 数组的每一项可以保存任何类型的数据, 数组的大小是可以动态调整的,即可以随着数据的添加自动增长以容 纳新增数据

    数组创建的方式

    1. 字面量创建   var arr =[1,2,3,4 ];  与对象一样,在使用数组字面量表示法时,也不会调用 Array 构造函数
    2. 构造函数创建  var arr =new Array(1,2,3,4 );
    3. 字符串转数组类型  var arr =Array(1,2,3,4 );
    4.   var arr = new Object( [ ] );

    javascript中数组是基于对象创建的,是一个引用列表,数组下标可以使用字符型,即 arr ["1"] 和  arr [ 1 ]是一样的。js和其他语言不同的是数组内部会把下标转换成字符型存储。使用console.log打印时可以看出 下标 0 前后带有双引号,而其他没有。

                                                                 

     数组的紧密性

      如果给数组变量赋值时超出下标范围,则会在中间添加空元素。

     arr [-1]=10 这样会给数组添加一个 “-1”属性,属性值是 10,因为数组是基于对象创建的,数组的length 不会变。

    数组的方法

      arr.push() 在数组尾部添加元素,并返回数组新长度。

      arr,pop() 在数组尾部删除一个元素,并返回被删除的元素

      arr.shift() 删除第一个元素,返回被删除的数据。

    arr.unshift ( ) 在首部插入一个新元素,返回数组新长度。

      var arr1 = arr.concat( 5,6,7,8)  连接数组,返回新数组,原数组不改变。 括号内不写内容可直接复制数组,切断引用关系。

     var str = arr.join() ,返回用所给符号分隔开后的字符串,原数组不变。

      var arr1 =  arr.slice()   返回从参数指定位置开始到当前数组末尾的所有项。如果有两个参数,该方法返回起始和结束位置之间的项— —但不包括结束位置的项。slice()方法不会影响原始数组

     var arr1 =arr.splice(起始位置,要删除的项数,要插入的项...) 添加 删除 替换 元素,返回被删除元素组成的数组。原数组会改变。

    indexOf() 查找元素在数组中下标,未找到返回-1,如果有第二个参数,表示开始查找的起始位置。

       var index =-1;
          while(~(index=arr.indexOf(value,index+1)))  { console.log(index);}  //查找所有的下标。
     
    lastIndexOf()从后向前查找

    判断是否是数组

     

    Array.isArray(arr);

    Object.prototype().tostring.call(arr) ===" [Object Array] "

    arr.constructor===Array

    (arr instanceof Array);instanceof运算符用来判断一个构造函数的prototype属性所指向的对象是否存在另外一个要检测对象的原型链上
  • 相关阅读:
    kb-07线段树-12--二分查找区间边界
    kb-07线段树--11--区间多重该值多种查询
    kb-07线段树--10--dfs序建树
    kb-09-线段树--区间合并比较繁
    kb-07线段树-08--区间开根
    kb-07-RMQ线段树--07(动态规划)
    kb-07线段树-06离散化(与第四题类似)
    kb-07线段树-05-区间整体修改查询;(水)
    poj-2486-Apple Tree
    mnist的数据预处理
  • 原文地址:https://www.cnblogs.com/anin/p/12672510.html
Copyright © 2011-2022 走看看