javascript 数组总结
数组的创建:
数组可以使用Array构造函数来创建,或者使用[]快速创建。
1. Array构造函数创建数组:
无参数,创建空数组:
var arry = new Array();
参数为一个数字,指定数组长度
var array = new Array(3);
带初始化数据,创建数组并初始化参数数据
var array = new Array(1,'34','ceshi')
2. "[]"创建数组:
使用[],创建空数组:
var array = [];
传入初始化数据
var array = [1,'34','ceshi'];
判断数组类型:
数组是继承自Object的原型,typeof Array 返回值为'objiect'。如果想进一步判断就需要用以下方法:
对于一个网页或一个全局作用域而言,使用instanceof操作符可以做到:
var array = [];
if(array instanceof Array){
alert('判断成功')
}
对于instanceof的局限性,为了解决这个问题,ECMAScripts5新增Array.isArray(value)方法:
var arr = [];
if(Array.isArray(arr)){
alert('判断成功')
}
数组的一些方法:
* 添加元素方法:push() 、 unshift()、splice()
1.push(item1,item2,...): 往数组的末尾添加一个或多个元素,并返回数组新的长度
var arr = [1,2,3];
arr.push(4,5);
alert(arr);//1,2,3,4,5
2. unshift(item,item2,...): 往数组的头部添加一个或多个元素,并返回数组新长度
var arr = [1,2,3];
arr.unshift(4,5);
alert(arr);//4,5,1,2,3
3. splice(index,0,item1,item2,...):将一个或者多个元素插入到数组中指定的index位置,插入位置的元素自动后移
var arr = [1,2,3];
arr.splice(1,0,4,5); //在第二个个元素位置添加4,5。
alert(arr)//1,4,5,2,3
* 删除元素方法: pop() 、shift()、splice()
1.pop(): 删除尾部元素
var arr = [1,2,3];
arr.pop();
alert(arr);//1,2
2.shift(): 删除头部元素
var arr = [1,2,3];
arr.shift();
alert(arr);//2,3
3.splice(index,count): 从指定位置index开始删除,删除指定的count个元素。
var arr = [1,2,3,4];
var a = arr.splice(2,2); //从第三个元素开始,删除两个元素,并返回要删除的元素
alert(a);//3 ,4
alert(arr)//1,2
* splice 可以实现删除元素或者添加新元素
splice方法参数描述:
1.第一个参数:开始删除元素的索引值
2.第二个参数:表示要删除元素的个数
3. 第三个参数(以及第三个参数后面的所有参数):表示要插入的新元素(如果只有两个,可以忽略。表示只删除元素不添加元素)
下面列出几个例子:
1.删除数组的某一个元素: array.splice(index,1)
var arr = [1,2,3];
var a = arr.splice(2,1); //删除第三个元素,并返回要删除的元素
alert(a);//3
alert(arr)//1,2
2.在某个元素后添加元素:array.splice(index,0,value,....)
var arr = [1,2,3];
arr.splice(1,0,4,5); //在第一个元素后面添加4,5
alert(arr)//1,4,5,2,3
3. 删除某个元素,并且添加新的元素: array.splice(index,index,value,...)
var arr = [1,2,3];
var a = arr.splice(1,2,4,5); //从第二个元素开始删,删除两个元素,然后在原第二个元素的位置添加两个元素4,5
alert(a)//2,3
alert(arr)//1,4,5
* 将数组转化成字符串: join()
join(separator):将数组中的每个元素值两在一起,中间用指定的separator隔开;如果没有设置separator,默认用逗号隔开
var arr = [1,2,3,4];
var arr2 = [1,2,3,4];
var str = arr.join('_');
var str2 = arr.join();
alert(str);//1_2_3_4
alert(str2);//1,2,3,4
* 数组的截取:slice()
slice(indexstart,indexend): 从索引indexstart开始截取,直到索引indexend之前结束,索引end元素不包括;如果不设置indexend,则表示从indexstart开始一直截取到最后。
var arr = [1,2,3,4,5];
var newArr = arr.slice(2,3)//截取第三个元素
var newArr2 = arr.slice(2,4)//从第三个元素开始到第四个元素
var newArr3 = arr.slice(1)//从第二个元素开始截取直到最后一个元素
alert(newArr);//3
alert(newArr2);//3,4
alert(newArr3);//2,3,4,5
* 数组合并:concat()
concat(item1,item2,....): 将多个数组或者字符串组合为一个数组,并返回一个新的数组。如果没有参数,就相当于重新copy一个数组。
var arr = [1,2,3,4,5];
var arr2 = [6,7,8,9];
var newArr = arr.concat(4,5);
var newArr2 = arr.concat(arr2);
var newArr3 = arr.concat(arr2,[10,11]);
var newArr4 = arr2.concat();
alert(newArr);//1,2,3,4,5,4,5
alert(newArr2);//1,2,3,4,5,6,7,8,9
alert(newArr3);//1,2,3,4,5,6,7,8,9,10,11
alert(newArr4)//6,7,8,9
* 数组的拷贝:slice()、concat()
1.slice(0):返回一个新的数组,注:是一个新的数组不是指向
var arr = [1,2,3,4];
var newarr = arr.slice(0);
alert(newarr)//1,2,3,4
2.concat():返回一个新的数组,注:是一个新的数组不是指向
var arr = [1,2,3,4];
var newarr = arr.concat();
alert(newarr)//1,2,3,4
* 数组排序:reverse()、sort()
1.reverse():反转元素
var arr = [1,2,3,4,5];
arr.reverse();
alert(arr)// 5,4,3,2,1
2.sort():对数组元素排序,
按照字母顺序排列,即按照ASCII进行生序排列
var arr = ['c','d','abc','bf','e'];
arr.sort();
alert(arr)// 'abc','bf','c','d','e'
如果要排序数值,就需要使用一个排序函数
//排序函数
function sortNumber(a,b){
return a-b;
}
var arr = [1,100,3,21,101,6];
arr.sort(sortNumber);
alert(arr)// 1,3,6,21,100,101
javascript 数组总结的更多相关文章
- Javascript数组操作
使用JS也算有段时日,然对于数组的使用,总局限于很初级水平,且每每使用总要查下API,或者写个小Demo测试下才算放心,一来二去,浪费不少时间:思虑下,堪能如此继续之?当狠心深学下方是正道. 原文链接 ...
- Javascript数组操作(转)
1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限, ...
- JavaScript 数组
JavaScript 数组 简介:数组是值的有序集合,JavaScript在同一个数组中可以存放多种类型的元素,而且是长度也是可以动态调整的,可以随着数据增加或减少自动对数组长度做更改. 一:创建数组 ...
- 也谈面试必备问题之 JavaScript 数组去重
Why underscore (觉得这部分眼熟的可以直接跳到下一段了...) 最近开始看 underscore.js 源码,并将 underscore.js 源码解读 放在了我的 2016 计划中. ...
- js 判断数组包含某值的方法 和 javascript数组扩展indexOf()方法
var questionId = []; var anSwerIdValue = []; ////javascript数组扩展indexOf()方法 Array.prototype.indexOf ...
- JavaScript 数组 length 属性获取数组长度或设置数组元素的数目
JavaScript 数组 length 属性 JavaScript 数组 length 属性可返回或设置或组中元素的数目,语法如下: array_object.length 利用 length 属性 ...
- 【读书笔记】-- JavaScript数组
数组是一段线性分配的内存,它通过整数计算偏移并访问其中的元素.大多数的语言都会要求一个数组的元素是相同类型,但JavaScript数组可以包含任意类型. var misc = ['string', n ...
- 什么才是正确的javascript数组检测方式
前面的话 对于确定某个对象是不是数组,一直是数组的一个经典问题.本文专门将该问题择出来,介绍什么才是正确的javascript数组检测方式 typeof 首先,使用最常用的类型检测工具——typeof ...
- javascript数组对象排序
javascript数组对象排序 JavaScript数组内置排序函数 javascript内置的sort函数是多种排序算法的集合 JavaScript实现多维数组.对象数组排序,其实用的就是原生的s ...
- javascript数组的知识点讲解
javascript数组的知识点讲解 阅读目录 数组的基本方法如下 concat() join() pop() push() reverse() shift() sort() splice() toS ...
随机推荐
- Spark学习之键值对(pair RDD)操作(3)
Spark学习之键值对(pair RDD)操作(3) 1. 我们通常从一个RDD中提取某些字段(如代表事件时间.用户ID或者其他标识符的字段),并使用这些字段为pair RDD操作中的键. 2. 创建 ...
- 关于 VS 调用存储过程加载很慢和SQL 执行很快的那些事
执行同样的存储过程,调用同样的参数 在VS 中调用存储过程和传参后,到数据加载需要20秒或更多, 在SQL直接调用则不到一秒,同一个存储过程为什么有这么大的区别呢? 原因:存储过程计划失效的原因 产生 ...
- linux下启动、停止tomcat,杀死tomcat进程
1.打开终端 cd /java/tomcat 2.执行 bin/startup.sh #启动tomcat bin/shutdown.sh #停止tomcat tail -f logs/catalina ...
- 牛客多校Round 6
Solved:3 rank:156 J. Heritage of skywalker 学习一下nth_element 可以o (n)的找出前多少大的元素 #include <bits/stdc+ ...
- block:cfq 学习02
From: https://blog.csdn.net/vanbreaker/article/details/8308766 前文介绍了CFQ调度器的一些概念和结构之间的关系,这里再结合实际的代码,来 ...
- 初识 MyBatis
框架技术 使用框架构建项目,当确定使用哪个技术框架后,就已经有了一个 “半成品”,然后在这个半成品上填上内容,完成任务需求. 框架技术的优点: (1)不用再考虑公共问题,框架已经帮我们做好了. (2) ...
- Django加载静态文件失败,已解决
1.css文件以及js文件要放在static目录下,static和templates属于同级目录 2.在Django项目的同名项目文件的setting.py中,最后添加静态文件夹static目录路径 ...
- python学习,使用requests库来模拟登录github,post请求。
这次我们要模拟登录的页面是 https://github.com/login 首先我们先尝试着登陆一遍分析一下请求, 打开开发者工具下的network选项, 可以很清楚的看到这个会话session,而 ...
- intel compiler的表现
好久没弄这个东西,今天突然想试下,代码没写完,以后补. #include <stdio.h> #include <stdlib.h> #include <time.h&g ...
- c#string类型反序列化成字典类型
c# 实现string类型转化为字典类型:黄色底纹为需要引用的dll,可以在网站下载! 下载地址:http://download.csdn.net/download/xinping_168/47107 ...