javaScript的Array方法
仅个人总结
声明方法:
var arr = new Array();
var arr = new Array(1,2,3,4,5);
var arr = new array(size);//当为一个参数且为数字是,为声明数组长度。
var arr = [];
var arr= [1,2,3,4,5]
Array对象属性方法:
length:设置或返回数组中元素的数目,即数组长度;
prototype:数组的原型链,可以在原型链上添加属性和方法;
constructor:用的少,返回对创建此对象的数组函数的引用。
Array对象方法:
concat():两个数组拼接,不改变原数组,合并成一个新的数组。
var a = [1,2,3],b = [4,5,6];var c = a.concat(b);
console.log(a);//[1,2,3]
console.log(b);//[4,5,6]
console.log(c);//[1, 2, 3, 4, 5, 6]
注,谁写前面谁的数组对象内容就在前面。
附加:concat会进行一次数组转换,a.concat(4);输出[1,2,3,4];
join(): 将数组默认按照逗号的方式凭借为字符串;
var a = [1,2,3];
var str = a.join();
console.log(str);//1,2,3
var str = a.join('-');//自定义分割方式
console.log(str);//1-2-3
注:字符串的split()可以将字符串转化为数组,括号内为自己定义的分割方式。
pop(): 删除并返回数组最后一个元素;
var a = [1,2,3];
var c = a.pop();
console.log(a);//[1,2]
console.log(c);//
shift(): 删除并返回数组的第一个元素,和pop()雷同;pop删末尾,shift删前面
push(): 向数组末尾添加数,不限制个数,这点有点和concat相同,但不属于数组拼接,写数组会被当成一个数处理;并返回数组长度;
var a = [1,2,3];var len = a.push(5);
// a = [1,2,3,5];len = 4;
var a = [1,2,3];var len = a.push(5,6);
// a = [1,2,3,5,6];len = 5;
var a = [1,2,3];var len = a.push([5,6]);
// a = [1,2,3,[5,6]];len = 4;
unshift(): 向数组的开头添加一个或更多元素,并返回新的长度。和push()雷同;push在后,unshift在前
reverse(): 将数组进行翻转、颠倒;
var a = [1,2.3];var c = a.reverse();
// a = [3,2,1];c = [3,2,1];
slice(): 从数组选择指定范围的数组成新数组并返回;选择区间属于半开半闭区间;前包含后不包含;
例slice(2,4)相当于 [2,4);从下标2开启取到下标4,但不包含下标4。
var a = [1,2,3,4,5,6];var c = a.slice(2,4);
// a = [1,2,3,4,5,6]; c = [3,4];
splice(): 删除元素,并向数组添加新元素。array.splice(起始下标,删除数量,新添加的数组元素);可以填三个参数,
第一个参数必填,后面两个选填,第二个参数不填默认第一个定义参数下标后面全部删除;
当然三个参数都不填也可以,只是没效果而已,不会报错。
var a = [1,2,3,4,5,6];var c = a.splice(2)
// a = [1,2];c = [3,4,5,6];
var a = [1,2,3,4,5,6];var c = a.splice(2,2)
// a = [1,2,5,6];c = [3,4];
var a = [1,2,3,4,5,6];var c = a.splice(2,2,9)
// a = [1,2,9,5,6];c = [3,4];\
var a = [1,2,3,4,5,6];var c = a.splice(2,2,'a','a','a')
// a = [1,2,'a','a','a',5,6];c = [3,4];
var a = [1,2,3,4,5,6];var c = a.splice(2,2,[9,9])
// a = [1,2,[9,9],5,6];c = [3,4];
sort(): 对数组进行排序,如果是字符串,默认按AscII进行排序;
var a = [4,3,7,2,6]; var c = a.sort();
// a = [2, 3, 4, 6, 7];c = [2, 3, 4, 6, 7];
var a =[3,5,6,'10','21', '22', '33']; var c = a.sort();
// a = ["10", "21", "22", 3, "33", 5, 6];c = ["10", "21", "22", 3, "33", 5, 6];
注:json无法直接sort排序
var a =[{id:9,name:'张三'},{id:6,name:'李四'},{id:8,name:'王五'}];
var c = a.sort(function(a,b){ return a.id-b.id;});
// a = [{id:6,name:'李四'},{id:8,name:'王五'},{id:9,name:'张三'}];
toString(): 将数组直接转化为字符串;不能加入参数
var a = [1,2,3];var c = a.toString();
// a = [1,2,3]; c = 1,2,3;
注 json中有个JSON.stringify();方法也可转字符串,不过有点区别;
var a = [1,2,3];var c = JSON.stringify(a);
// a = [1,2,3]; c = '[1,2,3]';
toLocaleString(): 把数组转换为本地数组,并返回结果。和toString()雷同;
一般情况下使用toString,带类型的使用toLocaleString,例如时间。
valueOf(): 返回数组对象的原始值;可以用于判断对象原型。用的不多,不介绍。
toSource(): 返回对象的源代码,只有火狐浏览器能用,兼容性差。还是算有点用,但是属于没法用,如果实在需要用自己做一个兼容处理,不过多介绍。
ES6 新增:
今天先写到这,后面再慢慢补
javaScript的Array方法的更多相关文章
- JavaScript中Array方法总览
title: JavaScript中Array方法总览 toc: true date: 2018-10-13 12:48:14 push(x) 将x添加到数组最后,可添加多个值,返回数组长度.改变原数 ...
- JavaScript 数组(Array)方法汇总
数组(Array)常用方法; 数组常用的方法:concat(),every(), filter(), forEach(), indexOf(), join(), lastIndexOf(), map ...
- javaScript之Array方法
Array类型和其他语言一样,是数据的有序列表,但不同的是数组的每一项们可以保存任何类型的数据. 1.检测方法(确定某个对象是不是数组) (1)value instanceof Array (2)Ar ...
- JavaScript 数组(Array)方法(二)
forEach ES5新增的方法,Arr.forEach((value, index,array)=>{}); let arr=['a','b','c']; arr.forEach((val,i ...
- js Array 方法总结
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- javascript数组Array强大的splice()方法
javascript的Array数组提供了强大的splice()方法, 用于对数组元素的增删改 1.删除-用于删除元素,两个参数,第一个参数(要删除第一项的位置),第二个参数(要删除的项数) 删除: ...
- 【原】javascript笔记之Array方法forEach&map&filter&some&every&reduce&reduceRight
做前端有多年了,看过不少技术文章,学了新的技术,但更新迭代快的大前端,庞大的知识库,很多学过就忘记了,特别在项目紧急的条件下,哪怕心中隐隐约约有学过一个方法,但会下意识的使用旧的方法去解决,多年前ES ...
- Javascript数组Array的forEach方法
Javascript数组Array的forEach扩展方法 forEach是最常用到的数组扩展方法之一,相当于参数化循环数组,它简单的在数组的每一个元素上应用传入的函数,这也意味着只有存在的元素会被访 ...
- Javascript Array 方法整理
Javascript Array 方法整理 Javascript 数组相关方法 说明 大多数其它编程语言不允许改变数组大小,越界访问索引会报错,但是 javascript不会报错,不过不建议直接修改a ...
随机推荐
- Android_(控件)使用ImageView简单实现图片翻转
效果图 1)可以把图像的id存放数组中,利用setImageResource()或setImageDrawable()方法(放在数组中便于循环) 2)已经是第一张图像时,再点击“上一页”,应Toast ...
- 关于数据上传阿里云MaxCompute调研
1.背景 当前的数据存储基于mysql库表存储形式,目前已经无法满足愈加增大的数据存储需求,新项目基于Maxcompute数据仓库架构,需要将统计日志上传Maxcompute,本文对Maxcomput ...
- svn 同步hook
hook 目录下 cp pre-revprop-change.tmpl pre-revprop-change chmod a+x pre-revprop-change 同步代码初始化 sudo svn ...
- C++入门经典-例8.3-子类显示调用父类构造函数
1:当父类含有带参数的构造函数时,创建子类的时候会调用它吗?答案是通过显示方式才可以调用. 无论创建子类对象时调用的是那种子类构造函数,都会自动调用父类默认构造函数.若想使用父类带参数的构造函数,则需 ...
- PHP中try catch的用法
异常(Exception)用于在指定的错误发生时改变脚本的正常流程. 什么是异常? PHP 5 提供了一种新的面向对象的错误处理方法. 异常处理用于在指定的错误(异常)情况发生时改变脚本的正常流程.这 ...
- 微信小程序之条件判断
前文: 今天踩了一下午的坑,但是确实很简单的问题. 我说一下需求:扫描商品的二维码,从而判断,同一个二维码不可多次扫描: 点击扫一扫 会在灰色区域展示 扫描的商品信息,比如商品名称,商品码等,但是我们 ...
- vue 引入jQuery
http://blog.csdn.net/cly153239/article/details/53067433 vue-cli webpack全局引入jquery 首先在package.json里加入 ...
- 安德鲁1.2Ku使用感受
看中玻璃钢天线了,华达太贵,安德鲁性价比比较高.就在上周,决定入一个试试.周二微信转账,380+120运费,安能物流送货上门,上周6中午午睡时接到电话.去广场拿货. 锅面包装很简单,纸壳与胶带简单粗暴 ...
- pyqt5-实时刷新页面(QApplication.processEvents())
对于执行很耗时的程序来说,由于PyQt需要等待程序执行完毕才能进行下一步,这个过程表现在界面上就是卡顿,而如果需要执行这个耗时程序时不断的刷新界面.那么就可以使用QApplication.proces ...
- visual studio 2019不能在vue文件中直接识别less语法
试了好多方法,不象vs code那样能直接在template vue文件中就识别less语法下边这种分离的方式是可以的,在项目中也比较实用,将来你代码量大了,样式/脚本也还是要和template代码分 ...