javascript常见的数组方法
1:Array对象用于在单个变量中存储多个值
typeof(arrArr) 'object'
var arr1 = [];//创建一个空数组
eg:数组是个引用类型
var a = [1,2,3];
var b = [1,2,3];
console.log(a == b);
//false
构造函数创建
var arr1 = new Array();//创建空数组
var arr2 = new Array(10);//创建一个长度为10的数组
new Array(-1); //Uncaught RangeError: Invalid array length(…)
new Array(undefined) //[undefined]
var arr3 = new Array(5,4,3,2,1);//创建数组并初始化
es6 Array.of 创建数组
Array.of()
//[]
Array.of(undefined)
//[undefined]
Array.of(1)
//[1]
Array.of(3)
//[3]
Array.of(1, 2)
//[1, 2]
Array.of(-1)
//[-1]
2:length 属性
var arrArr = [1,2,3,4,5];
console.log(arrArr.length); //5
数组的最后一项是length-1
console.log(arrArr[arrArr.length-1]) //5
3:数组的遍历
var arrArr = [1,2,3,4,5];
for (var i = 0; i < arrArr.length; i++) {
//arrArr[i]....
};
4:数组中常见的方法
(1)删除数组的最后一项,返回的是删除的值
pop()
eg:
var arr = ["1","2"];
var arrv=arr.pop();
console.log(arr);
console.log(arr2);
//["1"]
//2
(2) 向数组的最后添加值,返回的是新数组的长度
push()
eg:
var arr = ["1","2"];
var arrv=arr.push("3","4","5");
console.log(arr);
console.log(arrv);
//["1", "2", "3", "4", "5"]
//5
(3) 删除数组的第一项,返回的是删除的值
shift()
eg:
var arr = ["1","2"];
var arrv=arr.shift();
console.log(arr);
console.log(arrv);
//["2"]
//1
(4) 向数组的开头添加值,返回的是新数组的长度
unshift()
eg:
var arr = ["1","2"];
var arrv=arr.unshift("3","4","5");
console.log(arr);
console.log(arrv);
//["3", "4", "5", "1", "2"]
//5
(5)concat()
合并两个数组,原数组不变。concat是把arr1和arr2合并为一个新数组返回
eg:
var arr1 = ["1","2"];
var arr2 = ["3","4"];
var newarr=arr1.concat(arr2,["5","6"]);
console.log(arr1);
console.log(arr2);
console.log(newarr);
//["1", "2"]
//["3", "4"]
// ["1", "2", "3", "4", "5", "6"]
(6)slice英文意思是:切成片,切下,划分
slice()
arrayObject.slice(start,end)
从已有的数组中返回选定的元素,从下标为start的元素开始,若为负数,表示从最后开始,-1表示最后一项,
到下标为end之前的一项
eg:
var arr1 = ["1","2","3","4","5"];
var arr2 = arr1.slice(1,4);
console.log(arr1);
console.log(arr2);
//["1", "2", "3", "4", "5"]
//["2", "3", "4"]
(7)splice()
从数组中添加删除项,返回被删除的项目。
arrayObject.splice(index,howmany,item1,.....);
index规定的是添加删除项的位置,若为负数,表示从最后开始,-1表示最后一项
howmany表示的是要删除的项目的数量。为0表示的是不删除。只是添加
item1,.....向数组中添加的新项(可选)
eg:
var arr = ["A","B","C","D","E","F","G"];
var newarr=arr.splice(2,4,"1");
console.log(arr);
console.log(newarr);
//["A", "B", "1", "G"]
//["C", "D", "E", "F"] 被删除的项
eg:
var arr = ["A","B","C","D","E","F","G"];
var newarr=arr.splice(2,0,"1");
console.log(arr);
console.log(newarr);
//["A", "B", "1", "C", "D", "E", "F", "G"]
//[] 表示的是删除0项
eg:
var arr = ["A","B","C","D","E","F","G"];
var newarr=arr.splice(2,3); //只删除不添加
console.log(arr);
console.log(newarr);
//["A", "B", "F", "G"]
//["C", "D", "E"]
(8)reverse()
颠倒数组中元素的顺序(改变的是原数组)
arrayObject.reverse();
var arr = ["A","B","C","D","E","F","G"];
var arr1=arr.reverse();
console.log(arr);
console.log(arr1);
//["G", "F", "E", "D", "C", "B", "A"]
//["G", "F", "E", "D", "C", "B", "A"]
(9)sort()
对数组的元素进行排序(默认是按照字符集的格式进行排序)
sortby规定排序的顺序,必须是函数
arrayObject.sort(sortby);
var arr = [1,3,2,4,6,9];
arr.sort();
console.log(arr);
//[1, 2, 3, 4, 6, 9]
sortby规定排序的顺序,只能是个函数。两参数的差值小于0,则表示a必须出现在b前面,否则在b后面
若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
若 a 等于 b,则返回 0。
若 a 大于 b,则返回一个大于 0 的值。
var arr = [2,5,4,23,2,45];
arr.sort(function(a,b){
if(a < b){
return -1; //a-b返回一个小于0.a在b的前面。a比b小。升序排列
}else if(a > b){
return 1; //a-b返回一个大于0.说明a比b大。升序排列。a在b的后面
}else if(a == b){
return 0; //a-b返回一个等于0.说明a等于b。
}
});
console.log(arr);
//[2, 2, 4, 5, 23, 45]
(10)join()
把数组中的所有元素放入一个字符串中
separator为分隔符
arrayObject.join(separator)
eg:
var arr = [1,2,3,4,5,6,7];
var str = arr.join(",");
console.log(str);
//1,2,3,4,5,6,7
javascript常见的数组方法的更多相关文章
- javascript常见操作数组的方法
在 JavaScript 中,判断一个变量的类型尝尝会用 typeof 运算符,在使用 typeof 运算符时采用引用类型存储值会出现一个问题,无论引用的是什么类型的对象,它都返回 "obj ...
- javascript里的几种常见的数组方法
Array()的几种方法 1.splice(2,3,4)删除数组中任意项(三个参数). 2.splice(1,3)删除从第一项开始的往后三项(两个参数).(splice可以结合pop(),unshif ...
- Javascript中遍历数组方法的性能对比
Javascript中常见的遍历数组的方法 1.for循环 for(var i = 0; i < arr.length; i++) { // do something. } 2.for循环的改进 ...
- javascript中常用数组方法详细讲解
javascript中数组常用方法总结 1.join()方法: Array.join()方法将数组中所以元素都转化为字符串链接在一起,返回最后生成的字符串.也可以指定可选的字符串在生成的字符串中来分隔 ...
- Javascript中的数组方法总结
1.concat():将两个或多个数组合并成一个数组 arrayObject.concat(arrayX,arrayX,......,arrayX),返回一个新的数据,arrayX可以是数值也可以是数 ...
- JavaScript字符串与数组方法整理
字符串(String)的方法: 代码后面的都是返回值 var str = "atusdgafsvg"; var str1 = "123456789"; var ...
- JavaScript 基础(六) 数组方法 闭包
在一个对象中绑定函数,称为这个对象的方法.在JavaScript 中,对象的定义是这样的: var guagua = { name:'瓜瓜', birth:1990 }; 但是,如果我们给瓜瓜绑定一个 ...
- JS基本功 | JavaScript专题之数组 - 方法总结
Array.map() 1. map() 遍历数组 语法: let new_array = arr.map(function callback(currentValue, index, array ...
- javascript之操作数组方法
掌握如何操作数组,会让你的开发变得更加高效 1.栈和队列方法(以下四个方法都改变原数组) arr.push() //接受任意类型的参数,逐个添加到数组的末尾,并返回数组的长度 改变原数组 arr.po ...
随机推荐
- ThinkPHP 多应用多模块建立方式
ThinkPHP3.2.2及以后版本同一应用多模块和多应用多模块的设计已经比以前的版本更加简单快捷. 注:入口文件为index.php,内容为: <?php // +-------------- ...
- [Leetcode Week10]Minimum Time Difference
Minimum Time Difference 题解 原创文章,拒绝转载 题目来源:https://leetcode.com/problems/minimum-time-difference/desc ...
- mybatis generator 生成带中文注释的model类
将org.mybatis.generator.interal.DefaultCommentGenerator类的addFieldComment方法重写,代码如下: public void addFie ...
- js面向对象编程(二)构造函数的继承(转载)
Javascript面向对象编程(二):构造函数的继承 这个系列的第一部分,主要介绍了如何"封装"数据和方法,以及如何从原型对象生成实例. 今天要介绍的是,对象之间的"继 ...
- mybatis-config.xml的解释(zz)
<!-- xml标准格式 --><?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ...
- gcc 学习
gcc -lrt 参数说明: 说明在连接生成可执行文件的时候,将连接库librt.so or librt.a -l 参数说明 连接库 编译 使用 clock_gettime函数的,gcc需要添加上 ...
- hdu 1224(动态规划 DAG上的最长路)
Free DIY Tour Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...
- <Linux性能调优指南>主要思路流程
网上IBM很早放出的一本免费电子书, 十来年了,参考意义还是很大. 国内有翻译成中文在线阅读的版本. 见如下两个URL Linux Performance and Tuning Guidelines ...
- php split 和 explode 的区别
php split 和 explode 的区别 split (PHP 3, PHP 4 ) split -- 用正则表达式将字符串分割到数组中 说明 array split ...
- 【cocos2d-js官方文档】二十一、v3相对于v2版本的api变动
分类: cocos2d-js(28) 目录(?)[+] CCAudio.js SimpleAudioEngine.js改名为CCAudio.js. AudioEngine中删除了以下几个方法: pre ...