摘要:属性名描述为对象添加属性方法返回数组对象引用返回数组元素数目方法名描述返回更改原数组连接多个数组连接后新数组将数组中所有元素合为一个字符串。
属性名 | 描述 |
---|---|
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 |
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 = "
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] = 10 arr[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一样隐式转换成字符串进行匹配~
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/82208.html
摘要:即构造器的原型对象即构造器的原型对象和的关系是每个对象都有的一个属性,而是函数才会有的属性。不可以使用对象,不存在,可以使用代替。在开发过程中,需要保证某个元素的在其同级元素中具有唯一性。 1.理解原型、原型链? 每创建一个函数,函数上都有一个prototype的属性,他是一个对象。这个对象的作用就是当使用它创建实例的时候,这些实例都会共享原型上的属性和方法。当我们访问对象中的某个属性...
摘要:题目来源前端实习生面试总结最近开始了几次面试,虽然还不知道结果如何,但是还是要记录下来进行一个总结,同样也希望对正在准备面实习生的童鞋们有所帮助最后一个参数是做什么用的答规定事件是冒泡还是捕获。 最近一直在多看基础的书多码代码准备找实习,在网上也搜罗了不少面经,现在把搜罗到的实习生面试题自己整理一下。 题目来源:前端实习生面试总结最近开始了几次面试,虽然还不知道结果如何,但是还是要记录...
阅读 1952·2021-09-30 09:46
阅读 1364·2019-08-30 15:43
阅读 1121·2019-08-29 13:28
阅读 1920·2019-08-29 11:24
阅读 1679·2019-08-26 13:22
阅读 3891·2019-08-26 12:01
阅读 1815·2019-08-26 11:33
阅读 3242·2019-08-23 15:34