JS对象 - Array属性方法汇总
属性名 | 描述 |
---|---|
prototype | 为对象添加属性、方法 |
constructor | 返回数组对象引用 |
length | 返回数组元素数目 |
方法名 | 描述 | 返回 | 更改原数组 |
---|---|---|---|
concat() | 连接多个数组 | 连接后新数组 | N |
join('') | 将数组中所有元素合为一个字符串。按分隔符划分 | 合并后新数组 | N |
toString() | 数组转换为字符串( 与无参join相同,逗号连接) | 转换后字符串 | N |
pop() | 删除数组最后一个元素(栈顶) | 删除的元素值 | Y |
push() | 向数组的末尾添加一个/多个元素 | 新数组长度 | Y |
shift() | 删除数组第一个元素 | 删除的元素值 | Y |
unshift() | 向数组的开头添加一个/多个元素 | 新数组长度 | Y |
reverse() | 颠倒数组中元素的顺序 | 倒序后数组 | Y |
slice(start,end) | 截取从start到end子数组(end省略为数组末尾) | 截取子数组 | N |
splice() | (start,length,item1,item2,...)删除元素并添加新元素 | 删除子数组 | Y |
sort() | 对数组的元素进行排序(可自定规律) | 排序后数组 | Y |
valueOf() | 返回 Array 对象的原始值 | Array对象 | N |
indexOf() | 返回元素在数组中首次出现的位置(严格匹配===) | 下标/-1 | N |
创建 Array 对象
new Array();
new Array(size);
new Array(element0, element1, ..., elementn);
var arr = []; //字面量方式
经测试用字面量方式跟new Array()耗时差不多,使用习惯的差距吧~ new Array()能初始化长度~
属性
prototype 向对象添加属性和方法
function em(A,B)
{this.A = A;this.B = B;
}
var e = new em("AA","BB");
em.prototype.C = null;
e.C = 20000;
console.log(e.C); //20000
console.log(e); //em {A:"AA" , B:"BB" , C : 20000 }
constructor 返回对创建此对象的数组函数的引用
function employee(name,job)
{this.name = name;this.job = job;
}
var bill = new employee("Bill");
console.log(typeof bill.constructor); // function
console.log(bill.constructor); //function employee(name){this.name=name;this.job=job;}
方法
concat() 连接两个或更多的数组(返回被连接数组的副本)
var arr = [1, 2, 3];
var arr1 = [6, 7];
console.log(arr.concat(4, 5, arr1)); //[1, 2, 3, 4, 5, 6, 7]
join() 把数组的所有元素放入一个字符串,元素通过指定的分隔符分隔。
var arr = ['item 1', 'item 2', 'item 3'];
var list = '<ul><li>' + arr.join('</li><li>') + '</li></ul>'; //'<ul><li>item 1</li><li>item 2</li><li>item 3</li></ul>'
toString() 数组转换为字符串(与无参的 join()方法返回的串相同)
var arr = new Array(3)
arr[0] = "A"
arr[1] = "B"
arr[2] = "C"
console.log(arr.toString()); //"A,B,C"
pop() 删除数组的最后一个元素,数组长度减 1,并返回被删除的元素的值
若数组为空,则pop()返回undefined值
var arr = ["A", "B", "C"];
console.log(arr); //["A", "B", "C"]
console.log(arr.pop()); //"C"
console.log(arr); //["A", "B"]
push() 向数组的末尾添加一个或更多元素,并返回新的长度
var arr = ["A", "B", "C"];
console.log(arr); //["A", "B", "C"]
console.log(arr.push('D')); //4
console.log(arr); ["A", "B", "C" , "D"]
reverse() 颠倒数组中元素的顺序
var arr = ["A", "B", "C"];
arr.reverse();
console.log(arr);// ["C", "B", "A"]
slice(start,end) 从数组中返回选定的子数组
var arr = ["A", "B", "C"];
// 从第一个元素开始截取到数组结尾
console.log(arr.slice(1)); //["B", "C"]
console.log(arr); //["A", "B", "C"]
splice() 删除元素,并向数组添加新元素
(直接对数组操作)
① 删除指定范围的数组元素:
var arr = new Array(6);arr[0] = "A"; arr[1] = "B";arr[2] = "C";arr[3] = "D";arr[4] = "E";arr[5] = "F";
console.log(arr); //["A", "B", "C", "D", "E", "F"]
// 删除第三个元素以后的三个数组元素(包含第三个元素)
console.log(arr.splice(2, 3)); //["C", "D", "E"]
console.log(arr); //["A", "B", "F"]
② 从指定下标开始插入指定元素(元素个数不限):
var arr = new Array(6);arr[0] = "A"; arr[1] = "B";arr[2] = "C";arr[3] = "D";arr[4] = "E";arr[5] = "F";
console.log(arr); //["A", "B", "C", "D", "E", "F"]
console.log(arr.splice(2, 0, "AA","BB")); // []
console.log(arr);//["A", "B", "AA" , "BB" , "C", "D", "E", "F"]
③ 删除指定范围的数组元素,并用指定元素替换(元素个数不限):
var arr = new Array(6);arr[0] = "A"; arr[1] = "B";arr[2] = "C";arr[3] = "D";arr[4] = "E";arr[5] = "F";
console.log(arr);//["A", "B", "C", "D", "E", "F"]
console.log(arr.splice(2, 1, "AA","BB")); // ["C"]
console.log(arr); //["A", "B", "AA", "BB", "D", "E", "F"]
sort() 对数组的元素进行排序
对数组的引用
数组在原数组上进行排序,不生成副本。该方法默认是按照字符编码(ASCII)的顺序进行排序的
var arr = new Array(3);arr[0] = "D";arr[1] = "S";arr[2] = "A";
console.log(arr); //["D", "S", "A"]
console.log(arr.sort()); //["A", "D", "S"]
自行指定排序规则。如下:
var arr = new Array(6);arr[0] = 10;arr[1] = 5;arr[2] = 40;arr[3] = 25;arr[4] = 1000;arr[5] = 1;
console.log(arr); //[10, 5, 40, 25, 1000, 1]
//升序
console.log(arr.sort(function (a, b) {return a - b;}));// [1, 5, 10, 25, 40, 1000]
valueOf() 返回相应的原始值
var arr = new Array(2);arr[0] = 10arr[1] = 5
console.log(arr); //[10, 5]
console.log(typeof arr.valueOf()); //object
console.log(arr.valueOf()); //[10, 5]
shift() 删除并返回数组的第一个元素
var arr = ["A", "B", "C"];
console.log(arr); //["A", "B", "C"]
console.log(arr.shift()); //A
console.log(arr); //["B", "C"]
unshift() 向数组的开头添加一个或更多元素,并返回新的长度
var arr = ["A", "B", "C"];
console.log(arr); //["A", "B", "C"]
console.log(arr.unshift("AA")); //4
console.log(arr);//["AA", "A", "B", "C"]
indexOf() 返回元素在数组中出现位置
额 之前一直以为只有string有这个方法... 补上补上
var arr = ['orange', '2016', undefined , null ,NaN];
console.log(arr.indexOf('orange')); //0
console.log(arr.indexOf('o')); //-1
console.log(arr.indexOf('2016')); //1
console.log(arr.indexOf(2016)); //-1
console.log(arr.indexOf('undefined')); //-1
console.log(arr.indexOf(null)); //3
console.log(arr.indexOf(NaN)); //-1
以上只是为了论证这里的indexOf使用的是严格匹配(===),不会像string的indexOf一样隐式转换成字符串进行匹配~
JS对象 - Array属性方法汇总相关推荐
- js如何操作表格(常用属性方法汇总)
js如何操作表格(常用属性方法汇总) 一.总结 一句话总结: 二.表格相关的属性和方法 1.1 Table 对象集合 cells[] 返回包含表格中所有单元格的一个数组. 语法:tableObject ...
- TagCanvas文字云属性+方法汇总
TagCanvas文字云属性+方法汇总 前言 导入 使用 可用属性 js方法 jq方法 前言 甲方爸爸要一个文字旋转的炫酷功能,无意间发现了这个插件,用起来还可以就是感觉扩展性不强,由于网上的资料太少 ...
- 遍历和添加json对象的属性 和 遍历普通js对象的属性
1. 遍历 json 对象的属性 //定义json对象 var person= { name: 'zhangsan', pass: '123', fn: function(){ alert(this. ...
- python与正则表达式(part8)--compile对象及match对象的属性方法
文章目录 compile对象属性(compile函数生成的正则表达式对象的属性) flags参数扩展 举个例子 match对象的属性方法 1.属性变量 2.属性方法 举个例子 compile对象属性( ...
- 使用变量的值作为JS对象的属性名,从而获取其对应的值
使用变量的值作为JS对象的属性名,从而获取其对应的值 <script>var object={"a":1111,"b":2222};var para ...
- 基于js对象,操作属性、方法详解
一,概述 在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类.Hashtable类等等. 目前在Javascrip ...
- JS——判断变量类型方法汇总
判断变量类型 一.使用typeof判断变量类型 二.使用instanceof判断变量的类型 三.使用constructor判断变量的类型 四.使用Object.prototype.toString.c ...
- JS中Object的方法汇总,包括assign、create、prototype等等
JavaScript Object JS的Object到底是啥东西呢?它有啥东西呢? 我们简单知道的,就是new一个Object实例对象,那这个实例对象又何Object又有什么关系呢? 先打印一下看看 ...
- 史上最全js数组,字符串方法汇总
目录 一.数组 (1)for..in一般用于遍历对象的属性 (2)for..of (3)Object.keys() (4)Object.values() (5)Object.entries() (6) ...
最新文章
- [ 转]Python模块(二)import和from...import的区别
- SecureCRT通过密钥进行SSH登录
- 历届试题 大臣的旅费 树形DP
- php clear(),PHP Ds\Collection clear()用法及代码示例
- HDU 4812 D Tree (点分治) (2013ACM/ICPC亚洲区南京站现场赛)
- springboot创建子模块时遇到子模块覆盖父模块问题解决
- 修改安装路径 pip 以及修改运行路径
- 【Jmeter篇】1小时轻松搞定项目接口自动化测试与数据驱动
- java tomcat 读取配置文件端口_跟我学Java编程—应用读写项目配置文件的Properties类...
- Spinlock 简介(转)
- C#代码生成目录树(转)
- 吃了核辐射食物怎么办_尿酸过高怎么办?这几种食物,平时可多吃
- Wooden Signs Gym - 101128E (DP)
- Android pad 刷成苹果,利用安卓手机运行checkra1n越狱你的iPhone/iPad教程,支持12.3-13.5-13.7-14.3-14.4系统...
- 计算机网络技术教程-董文磊-专题视频课程
- matplotlib工具栏源码探析三(添加、删除自定义工具项)
- double浮点数转字符串算法
- 回车、换行、空格的ASCII码值(不同OS平台下文件换行定义)
- php视频教程折蜗牛,折纸蜗牛的手工折法视频教程
- Android 模拟器 计步器,春雨计步器怎样刷步数图文教程