js中数组是一个特殊的对象,索引是它的属性,整数索引在内部被转化为字符串类型。

1 数组的创建

  new关键字方法:var arr=new Array()

var arr=new Array(10);
console.log(arr.length); // var arr=new Array(1,2,3);
console.log(arr.length); //

  字面量方法:var arr=[]

var arr=[];
console.log(arr.length); // var arr=[1,2,3];

推荐使用字面量方法创建数组。

2 属性

  长度属性 length

3 方法

3.1 对元素的添加删除

  push():在数组末尾添加一个元素。返回值为新数组长度。

var arr=[1,2,3];
arr.push(4);
console.log(arr); // [1,2,3,4]

  pop(): 删除数组末尾元素并将其返回。

var arr=[1,2,3];
arr.pop();
console.log(arr); //[1,2]

  unshift():在数组开头添加元素。返回值为新数组长度。

var arr=[1,2,3];
arr.unshift(0);
console.log(arr); // [0,1,2,3]

  shift():删除数组的第一个元素并将其返回。

var arr=[0,1,2,3];
arr.shift();
console.log(arr); //[1,2,3]

  splice():

    splice(start,len,i1,i2...):将i1,12...插入从start开始的len个元素的位置。

var arr=[0,1,2,3];
arr.splice(1,2,0,0);
console.log(arr);// [0, 0, 0, 3]
var arr=[0,1,2,3];
arr.splice(1,2,0);
console.log(arr); // [0, 0, 3]

    splice(start,len):从start开始删除len个元素。

var arr=[0,1,2,3];
arr.splice(1,2);
console.log(arr);// [0, 3]

  concat():在数组后插入新元素构成新数组。

var arr=[0,1,2,3];
var newarr= arr.concat(1,2);
console.log(newarr);// [0, 1, 2, 3, 1, 2]

3.2 查找

  indexof():

    从数组开头开始查找参数元素,返回参数元素的索引,若元素不存在,返回-1。

  lastindexof():

    从数组最后一个元素开始查找。

3.3 转化为字符串

  toString()

  join()

3.4 排序

  reverse():反序

  sort(): 按字母表顺序为字符串排序。

var arr=['a',10,'c',3];
console.log(arr.sort());// [10, 3, "a", "c"]

    sort()可接收一个函数作为参数执行函数中的排序方法。

 函数接收两个参数,若返回值为正数,则在数组中交换这两个数的顺序,否则不交换。下面为两种用sort实现从小到大排序的方法:

function compare(a,b){
return a-b;
}
var arr=[1,20,3,10];
console.log(arr.sort(compare)); // [1, 3, 10, 20]
function compare(a,b){
if (a>b)
return 1;
if (a<b)
return -1;
}
var arr=[1,20,3,10];
console.log(arr.sort(compare)); //[1, 3, 10, 20]

3.5 迭代器

  forEach()

    对数组中每一个元素使用参数函数。

  every()

    参数函数返回值为布尔型,若对所有元素作用该函数返回值为true,则方法返回true。

  some()

    参数函数返回值为布尔型,若对有一个元素元素作用该函数返回值为true,则方法返回true。

  reduce()

    对累加值和后一元素调用参数函数,返回最终累加值。

  reduceRight()

    从右向左累加。

  map()

    对每个元素使用参数函数,返回结果所构成的数组。

  filter()

    要求参数函数返回值为布尔型,方法返回结果为true的元素所构成的数组。

4 判断数组

typeof作用于数组返回object

数组的constructor属性返回值为Array

【js笔记】数组那些事[0]的更多相关文章

  1. JS中数组那些事~

    今天闲的没事,看了一些关于数组的操作,好久木有用过,很多都已经忘记的差不多了,所以今天花了一个小时写了一些demo,准备备份一下方便以后使用~~~ 下面是一些工作当中,经常用到的数组的方法,小伙伴可以 ...

  2. js 笔记 数组(对象)

    一.javascript push 的元素为指针 var data = {"test":{"201308":"23","20130 ...

  3. js笔记-0

    #js笔记-0 数组: indexOf方法: Array也可以通过indexOf()来搜索一个指定的元素的位置: var arr = [10, 20, '30', 'xyz']; arr.indexO ...

  4. js笔记(3)--js实现数组转置(两种方法)

      js实现数组转置   第一种方法:   <script>     window.onload=function(){     var array1=[[11,22,33,333],[4 ...

  5. Js删除数组重复元素的多种方法

    js对数组元素去重有很多种处理的方法,本篇文章中为网络资源整理,当然每个方法我都去实现了:写下来的目的是希望自己活学活用,下次遇到问题后方便解决. 第一种 function oSort(arr){ v ...

  6. js去除数组重复项

    /** * js去除数组重复项 */ //方法一.使用正则法 // reg.test(str),匹配得到就返回true,匹配不到返回false var arr = ["345",& ...

  7. js 判断数组包含某值的方法 和 javascript数组扩展indexOf()方法

    var  questionId = []; var anSwerIdValue = []; ////javascript数组扩展indexOf()方法 Array.prototype.indexOf ...

  8. 探讨js字符串数组拼接的性能问题

    这篇文章主要介绍了有关js对字符串数组进行拼接的性能问题,字符串连接一直是js中性能最低的操作之一,应该如何解决呢?请参看本文的介绍 我们知道,在js中,字符串连接是性能最低的操作之一. 例如: 复制 ...

  9. js之数组,对象,类数组对象

    许久不写了,实在是不知道写点什么,正好最近有个同事问了个问题,关于数组,对象和类数组的,仔细说起来都是基础,其实都没什么好讲的,不过看到还是有很多朋友有些迷糊,这里就简单对于定义以及一下相同点,不同点 ...

随机推荐

  1. [学习笔记] numpy次成分分析和PCA降维

    存个代码,以后参考. numpy次成分分析和PCA降维 SVD分解做次成分分析 原图: 次成分复原图: 代码: import numpy as np from numpy import linalg ...

  2. Oracle文本导入器

    将文本格式化为Tab分隔的数据行,可以用Excel搞定 如果新增列需要从前面的列获取数据,比如用身份证号计算年龄 需要保证新增列在导入的文件中实际存在列,否则无法使用相对位置和绝对位置进行取值 相对位 ...

  3. 【luoguP1219】【USACO】八皇后

    P1219 八皇后 题目描述 检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行.每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子. 上面的布局可以用序 ...

  4. 三种方法解决android帮助文档打开慢

    三种方法解决android帮助文档打开慢   经查是因为本地文档中的网页有如下两段js代码会联网加载信息,将其注释掉后就好了 <link rel="stylesheet" h ...

  5. uCOS-II消息邮箱的使用

    具体使用方法与信号量的方式大同小易.   首先建立一个OS_EVENT结构体(事件控制块)的指针:   OS_EVENT *MSBOX;   然后建立消息邮箱,返回值为事件控制块的指针:   MSBO ...

  6. mobienet, shufflenet

    参考github上各位大神的代码 mobilenet和shufflenet,实现起来感觉还是各种问题. mobilenet目前使用的代码来自这里:https://github.com/BVLC/caf ...

  7. o'Reill的SVG精髓(第二版)学习笔记——第一章

    1.1图形系统 计算机中描述图形信息的两大系统是栅格系统(raster graphics)和矢量图形(vector graphics) 1.1.4矢量图形的用途 ①计算机辅助绘图(CAD)程序. ②设 ...

  8. JS JavaScript实现杨辉三角

    1       1 1      1 2 1    1 3 3 1   1 4 6 4 1 1 5 10 10 5 1 ........ 观察这样的一组数,找出规律,用控制台输出这样规律的数 规律:这 ...

  9. Struts2 第四讲 -- Struts2的基本配置

    5.struts2的基本配置 5.1 struts2的访问连接url 在struts1中,通过<action path=“/primer/helloWorldAction.action”> ...

  10. 编写可维护的JavaScript---事件处理

    在JavaScript应用中事件处理是非常重要的,所有的JavaScript都是通过事件绑定到UI上的. 1. 典型用法 当事件触发的时候,事件对象event会最为回调参数传入到事件处理程序中.eve ...