资讯专栏INFORMATION COLUMN

js 数组原型方法总结

gggggggbong / 1922人阅读

摘要:会改变原数组的,返回值是改变后的数组长度功能删除并返回数组的最后一个元素。会改变原数组,返回值是原数组可选。会改变原数组,返回值是原数组无,将按字母顺序对数组中的元素进行排序,更精确点,是按照字符编码的顺序进行排序。

MDN web docs:

https://developer.mozilla.org...

push(ele1,ele2,....,eleX)

ele1:必需。添加到数组尾部的第一个元素。
ele2:可选。添加到数组尾部的第二个元素。
eleX:可选。可添加多个元素。
功能:向数组的末尾添加一个或多个元素。
会改变原数组的,返回值是改变后的数组长度

var arr = [1,2,3];
var length = arr.push(4,5)
console.log("length: " + length + "  arr: " + arr)
// length: 5  arr: [1,2,3,4,5]
pop()

功能:删除并返回数组的最后一个元素。
会改变原数组,返回值是pop出来的元素值

var arr = [1,2,3];
var val = arr.pop()
console.log("val: " + val + "  arr: " + arr)
// val: 3  arr: [1,2]
unshift(ele1,ele2,....,eleX)

ele1:必需。添加到数组头部的第一个元素。
ele2:可选。添加到数组头部的第二个元素。
eleX:可选。可添加若干个元素。
功能:向数组的开头添加一个或更多元素。
会改变原数组,返回值是改变后的数组长度

var arr = [1,2,3];
var length = arr.unshift("haha")
console.log("length : " + length + "  arr: " + arr)
// length : 4  arr: ["haha",1,2,3]
shift()

功能:删除并返回数组的第一个元素。
会改变原数组,返回值是shift出来的元素值

var arr = [1,2,3];
var val = arr.shift()
console.log("val: " + val + "  arr: " + arr)
// val: 1  arr: [2,3]
concat(arrayX,arrayX,......,arrayX)

arrayX:必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。
功能:用于连接两个或多个数组。
不会改变原数组,返回值是一个新数组

var arr = [1,2,3];
var arr1 = arr.concat(4,5,["haha","hehe"])
console.log("arr : " + arr + "  arr1: " + arr1)
// arr : [1,2,3]  arr1: [1,2,3,4,5,"haha","hehe"]
reverse()

功能:用于颠倒数组中元素的顺序。
会改变原数组,返回值是原数组

var arr = [1,2,3];
var arr1 = arr.reverse(); // [3,2,1]
console.log("arr: " + arr + "   arr1: " + arr1)
// arr: [3,2,1]   arr1: [3,2,1]
sort(sortby)

sortby:可选。规定排序顺序。必须是函数。
功能:对数组的元素进行排序。
会改变原数组,返回值是原数组

// 无sortby,将按字母顺序对数组中的元素进行排序,更精确点,是按照字符编码的顺序进行排序。
// 要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。
var arr = [10, 5, 40, 25, 1000, 1];
var arr1 = arr.sort();
console.log("arr: " + arr + "    arr1: " + arr1)
// arr: 1,10,1000,25,40,5    arr1: 1,10,1000,25,40,5

// 有sortby函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。
// 比较函数应该具有两个参数 a 和 b,其返回值如下:
// 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
// 若 a 等于 b,则返回 0。
// 若 a 大于 b,则返回一个大于 0 的值。
function sortNumber(a,b) {
  return a - b
}
var arr = [10, 5, 40, 25, 1000, 1];
var arr1 = arr.sort(sortNumber);
console.log("arr: " + arr + "    arr1: " + arr1)
// arr: 1,5,10,25,40,1000    arr1: 1,5,10,25,40,1000
slice(start, end)

start:可选。规定从何处开始选取。没有指定,表示从0开始。可为负数。
end:可选。规定从何处结束选取。没有指定,表示从 start 到数组结束的所有元素。可为负数。
下标为负数,代表从数组尾部开始算起,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
功能:从原数组中选取部分元素(下标是 start 到 end-1 的元素)构成新数组。
不会改变原数组,返回值是一个新数组。

// 有end
var arr = [1,2,3,4];
var arr1 = arr.slice(1,3); // 1:起始下标,3:结束下标
console.log("arr: " + arr + "    arr1: " + arr1)
// arr: [1,2,3,4]    arr1: [2,3]

// 无end,那么切分的数组包含从 start 到数组结束的所有元素
var arr = [1,2,3,4];
var arr1 = arr.slice(1); // 1:起始下标
console.log("arr: " + arr + "    arr1: " + arr1)
// arr: [1,2,3,4]    arr1: [2,3,4]

// 无start,无end
var arr = [1,2,3,4];
var arr1 = arr.slice(); // 1:起始下标,3:结束下标
console.log("arr: " + arr + "    arr1: " + arr1)
// arr: [1,2,3,4]    arr1: [1,2,3,4]

// end为负数
var arr = [1,2,3,4];
var arr1 = arr.slice(1, -2);
console.log("arr: " + arr + "    arr1: " + arr1)
// arr: [1,2,3,4]    arr1: [2]

// start为负数
var arr = [1,2,3,4];
var arr1 = arr.slice(-3, -2);
console.log("arr: " + arr + "    arr1: " + arr1)
// arr: [1,2,3,4]    arr1: [2]
splice(index,howmany,item1,.....,itemX)

index:必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany:必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, ..., itemX:可选。向数组添加的新项目。
功能:删除、插入和替换原数组。返回被删除的项目所构成的数组
会改变原数组,返回值是一个新数组

// 删除
var arr = [1,2,3,4,5];
var arr1 = arr.splice(1,2); // 1:起始下标,2:删除的项数
console.log("arr: " + arr + "    arr1: " + arr1)
// arr: [1,4,5]    arr1: [2,3]

// 插入
var arr = [1,2,3,4,5];
var arr1 = arr.splice(1,0,"a","b"); // 1:起始下标(在此下标之前插入),0:不删除,"a"和"b"是要插入的元素
console.log("arr: " + arr + "    arr1: " + arr1)
// arr: [1,a,b,2,3,4,5]   arr1: []

// 替换
var arr = [1,2,3,4,5];
var arr1 = arr.splice(1,2,"a","b","c"); // 1:起始下标,2:删除的项数,"a","b","c"是要插入的元素
console.log("arr: " + arr + "    arr1: " + arr1)
// arr: [1,a,b,c,4,5]    arr1: [2,3]
join(separator)

separator:可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。
功能:将数组的所有元素组成一个字符串。
不会改变原数组,返回值是一个字符串

// 无 separator
var arr = [1,2,3,4,5];
var str = arr.join();
console.log("arr: " + arr + "    str: " + str)
// arr: [1,2,3,4,5]    str: "1,2,3,4,5"

// 有 separator
var arr = [1,2,3,4,5];
var str = arr.join("-");
console.log("arr: " + arr + "    str: " + str)
// arr: [1,2,3,4,5]    str: "1-2-3-4-5"

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/95203.html

相关文章

  • JavaScript知识点总结

    摘要:参与任何数值计算的结构都是,而且。。面向人类的理性事物,而不是机器信号。达到无刷新效果。的工作原理总是指向一个对象,具体是运行时基于函数的执行环境动态绑定的,而非函数被声明时的环境。原型对象上有一个属性,该属性指向的就是构造函数。 1.JS面向对象的理解 面向对象的三大特点:继承、封装、多态 1、JS中通过prototype实现原型继承 2、JS对象可以通过对象冒充,实现多重继承, 3...

    sean 评论0 收藏0
  • JavaScript学习总结(二)数组和对象部分

    摘要:属性是一个值或一组值以数组或对象的形式,是对象的成员。可以使用内置构造函数和创建包装对象。因此下面的代码将会使人很迷惑结果结果,此数组长度为应该尽量避免使用数组构造函数创建新数组。给数组对象添加返回数组中最大元素值的方法。 对象部分 Object类型 Object 是一个无序的集合,可以存放任意类型对象,所有其他对象都继承自这个对象。创建Object类型有两种,一种是使用new运算符,...

    Lsnsh 评论0 收藏0
  • JS程序

    摘要:设计模式是以面向对象编程为基础的,的面向对象编程和传统的的面向对象编程有些差别,这让我一开始接触的时候感到十分痛苦,但是这只能靠自己慢慢积累慢慢思考。想继续了解设计模式必须要先搞懂面向对象编程,否则只会让你自己更痛苦。 JavaScript 中的构造函数 学习总结。知识只有分享才有存在的意义。 是时候替换你的 for 循环大法了~ 《小分享》JavaScript中数组的那些迭代方法~ ...

    melody_lql 评论0 收藏0
  • 面试总结JavaScript篇

    摘要:对象当调用某种方法或查找某种属性时,首先会在自身调用和查找,如果自身并没有该属性或方法,则会去它的属性中调用查找,也就是它构造函数的中调用查找,如果构造函数中也没有该属性方法,则会去构造函数的隐式原型中查找,一直到,就这样形成原型链。 此文主旨是记录面试中遇到的面试题,包括js中常见,易错,重要知识点 window.onload和$(document).ready()的区别 windo...

    Jensen 评论0 收藏0
  • 详解js面向对象编程

    摘要:看下面一个例子优点使用构造器函数的好处在于,它可以在创建对象时接收一些参数。按照惯例,构造函数的函数名应始终以一个大写字母开头,以区分普通函数。返回该对象的源代码。使您有能力向对象添加属性和方法。 基本概念 ECMA关于对象的定义是:无序属性的集合,其属性可以包含基本值、对象或者函数。对象的每个属性或方法都有一个名字,而每个名字都映射到一个值。 类 在现实生活中,相似的对象之间往往都有...

    lolomaco 评论0 收藏0
  • 前端知识点总结——JS高级(持续更新中)

    摘要:前端知识点总结高级持续更新中字符串什么是连续存储多个字符的字符数组相同下标遍历选取不同类型不同不通用所有字符串都无权修改原字符串,总是返回新字符串大小写转换统一转大写统一转小写何时不区分大小写时,都需要先转为一致的大小写,再比较。 前端知识点总结——JS高级(持续更新中) 1.字符串 什么是: 连续存储多个字符的字符数组 相同: 1. 下标 2. .length 3. 遍历 4....

    wangzy2019 评论0 收藏0

发表评论

0条评论

gggggggbong

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<