js中的Array对象属性和方法整理(二)

简介: js中的Array对象属性和方法整理

Array对象方法


方法 描述

concat() 连接两个或更多的数组,并返回结果。

join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。

pop() 删除并返回数组的最后一个元素

push() 向数组的末尾添加一个或更多元素,并返回新的长度。

reverse() 颠倒数组中元素的顺序。

shift() 删除并返回数组的第一个元素

slice() 从某个已有的数组返回选定的元素

sort() 对数组的元素进行排序

splice() 删除元素,并向数组添加新元素。

toSource() 返回该对象的源代码。

toString() 把数组转换为字符串,并返回结果。

toLocaleString() 把数组转换为本地数组,并返回结果。

unshift() 向数组的开头添加一个或更多元素,并返回新的长度。

valueOf()返回数组对象的原始值


1.4 concat()


语法: array.concat(value, ...)

其中value, ... 要添加到array中的值,可以是任意多个。

返回值: 一个新数组,是把指定的所有参数添加到array中构成的。

描述:方法concat()将创建并返回一个新数组,这个数组是将所有参数都添加到array中生成的。它并不修改array。如果要进行concat()操作的参数是一个数组,那么添加的是数组中的元素,而不是数组。

例子:

var a = [1, 2, 3];
a.concat(4, 5); // Returns [1,2,3,4,5]
a.concat([4, 5]); // Returns [1,2,3,4,5]
a.concat([4, 5], [6, 7]); // Returns [1,2,3,4,5,6,7]
a.concat(4, [5, [6, 7]]); // Returns [1,2,3,4,5,[6,7]]


1.5 join ()


语法: array.join()

array.join(separator)

separator

   在返回的字符串中用于分隔数组元素的字符或字符串,这是选用的。如果省略了这个参数,用逗号作为分隔符。

返回值:一个字符串,通过把array的每个元素转换成字符串,然后把这些字符串连接起来,在两个元素之间插入separator字符串而生成。

描述:方法join()把每个数组元素转换成一个字符串,然后把这些字符串连接起来,在两个元素之间插入separator字符串。返回生成的字符串。

可以用String对象的split()方法执行相反的操作,即把一个字符串分割成数组元素。详情参见“String.split()”。

例子:  

var a = new Array(1, 2, 3, "testing");
 var s = a.join("+"); // s is the String "1+2+testing"


1.6 pop()


语法: arrayObject.pop()

其中value, ... 要添加到array中的值,可以是任意多个。

返回值: arrayObject 的最后一个元素。

描述: pop() 方法将删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值。

例子:

var arr = new Array(["George","John","Thomas"])
document.write(arr) // Returns George,John,Thomas
document.write(arr.pop())// Returns  Thomas
document.write(arr) // Returns  George,John


1.7 push()


语法: array.push(value, ...)

value, ...    要添加到array尾部的值,可以是一个或多个。

返回值: 把指定的值添加到数组后的新长度。

描述:方法push()将马它的参数顺次添加到array的尾部。它直接修改array,而不是创建一个新的数组。方法push()和方法pop()用数组提供先进后出栈的功能。参阅"Array.pop()"中的示例。

例子:    

var a = [1, 2, 3];
 a.concat(4, 5); // Returns [1,2,3,4,5]
 a.concat([4, 5]); // Returns [1,2,3,4,5]
 a.concat([4, 5], [6, 7]); // Returns [1,2,3,4,5,6,7]
 a.concat(4, [5, [6, 7]]); // Returns [1,2,3,4,5,[6,7]]


1.8 reverse()


语法: array.reverse()

该方法会改变原来的数组,而不会创建新的数组。

返回值:

描述:Array对象的方法reverse()将颠倒数组中元素的顺序。它在原数组上实现这一操作作为替代:重排指定的array的元素,但并不创建新数组。如果对array有多个引用,那么通过所有引用都可以看到数组元素的新顺序。

例子:

a = new Array(1, 2, 3);    // a[0] == 1, a[2] == 3;
a.reverse();                   // Now a[0] ==3, a[2] == 1;


1.9 shift()


语法: array.shift()

返回值: 数组原来的第一个元素。

描述:方法shift()将把array的第一个元素移出数组,返回那个元素的值,并且将余下的所有元素前移一们,以填补数组头部的空缺。如果数组是空的,shift()将不进行任何操作,返回undefiend值。注意,该方法不创建新的数组,而是直接修改原有的array。

方法sihft()和方法Array.pop()相似,只不过它在数组头部操作,而不是在尾部操作。该方法常常和unshift()一起使用。

例子:

var a = [1, [2, 3], 4];
a.shift(); // Return 1;  a = [[2,3], 4];
a.shift(); // Return [2,3];  a = [4];


1.10 slice()


语法: array.slice(start, end)

start

   数组片段开始处的数组下标。如果是负数,它声明从数组尾部开始算起的位置。也就是说-1指最后一个元素,-2指倒数第二个元素,以此类推。

end

   数组片段结束处的后一个元素的数组下标。如果没有指定这个参数,切分的数组包含从start开始到数组结束的所有元素。如果这个参数是负数,它声明的是从数组尾部开始算起的元素。

返回值: 一个新数组,包含从start到end(不包括该元素)指定的array元素。

描述:方法slice()将返回array的一部分,或者说是一个子数组。返回的数组包含从start开始到end之间的所有元素,但是不包括end所指的元素。如果没有指定end,返回的数组包含从start开始到原数组结尾的所有元素。

注意,该方法并不修改数组。如果想删除数组中的一段元素,应该使用方法Array.splice()。

例子:

var a = [1, 2, 3, 4, 5];
a.slice(0, 3); // Return [1,2,3]
a.slice(3); // Return [4,5]
a.slice(1, -1); // Return [2,3,4]
a.slice(-3, -2); // Return [3]; buggy in IE 4: return [1,2,3]


1.11 sort()    


语法: array.sort()

array.sort(orderfunc)

orderfunc

   用来指定按什么顺序进行排序的函数,可选。

返回值: 对数组的引用。注意,数组在原数组上进行排序,不制作副本。

描述:方法sort()将在原数组上对数组元素进行排序,即排序时不创建新的数组副本。如果调用方法sort()时没使用参数,将按字母顺序(更精确地说,是按 照字符编码的顺序)对数组中的元素进行排序。要实现这一点,首先应把数组的元素都转成字符串(如果有必要的话),以便进行比较。


如果想按照特别的顺序进行排序,就必须提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数a和b,其返回值如下:

●  如果根据你的评判标准,a小于b,在排序后的数

例子: 下面的代码展示了如何编写按数字顺序,而不是按字母顺序对数组进行排序的比较函数:

//An ordering function for a numerical sort
function numberorder(a, b) {
    return a - b;
}
var a = new Array(33, 4, 1111, 222);
a.sort(); //Alphabetical sort: 1111, 222, 33, 4
a.sort(numberorder); //Numerical sort: 4, 33, 222, 1111


1.12 splice(start, deleteCount, value, ...)


语法: array.splice(start, deleteCount, value, ...)

start

   开始插入和(或)删除的数组元素下标。

deleteCount

   从start开始,包括start所指的元素在内要删除的元素个数。这个参数是先用的,如果没有指定它,splice()将删除从start开始到原数组结尾的所有元素。

value, ...要插入数组的零个或多个值,从start所指的下标处开始插入。

返回值: 如果从array中删除了元素,则返回的是含有被删除的元素的数组。

描述:方法splice()将删除从start开始(包括start所指的元素在内)的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的 元素。位于插入或删除的元素之后的数组元素都会被移动,以保持它们与数组其它元素的连续性。注意,虽然splice()方法与slice()方法名称很相 似,但作用不同,方法splice()直接修改数组。

例子:

var a = [1, 2, 3, 4, 5, 6, 7, 8];
a.splice(4); // Returns [5,6,7,8] ; a is [1,2,3,4]
a.splice(1, 2); // Returns [2,3] ; a is [1,4]
a.splice(1, 1); // Returns [4] ; a is [1]
a.splice(1, 0, 2, 3); // Returns [] ; a is [1,2,3]


1.13 toSource()


语法: object.toSource()

注释:该方法在 Internet Explorer 中无效。

返回值: 一个新数组,是把指定的所有参数添加到array中构成的。

描述: toSource() 方法表示对象的源代码。该原始值由 Array 对象派生的所有对象继承。toSource() 方法通常由 JavaScript 在后台自动调用,并不显式地出现在代码中。

例子:

function employee(name, job, born) {
 this.name = name;
 this.job = job;
 this.born = born;
}
var bill = new employee("Bill Gates", "Engineer", 1985);
document.write(bill.toSource());
Return: //   ({name:"Bill Gates", job:"Engineer", born:1985})


1.14 toString()


语法: array.toString()

TypeError

   调用该方法时,若对象不是Array,则抛出该异常。

返回值: array的字符串表示。

描述:数组的toStirng()方法将把数组转换成一个字符串,首先是把每个数组元素转换为字符串并且返回这个字符串。当数组用于字符串环境中,JavaScript会调用这一方法将数组自动转换成一个字符串。但在某些情况下,需要显式地调用这个方法。

toString() 在把数组转换成字符串时,首先要将数组的每个元素都转换成字符串(通过调用这些元素的toString()方法)。当每个元素都被转换成字符串时,它就以 列表的形式输出这些字符串,字符串之间用逗号分隔。返回值与没有参数的join()方法返回的字符串相同。


1.15 toLocaleString()


语法: array.toLocaleString()

TypeError

   调用该方法时,若对象不是Array,则抛出该异常。

返回值: 数组array的局部字符串表示。

描述:数组的方法toLocaleString()将返回数组的局部字符串表示。它首先调用每个数组元素的toLocaleString()方法,然后使用地区特定的分隔符把生成的字符串连接起来,形成一个新字符串。


1.16 unshift()


语法: array.unsift(value, ...)

其中value, ... 要插入数组头部的一个或多个值。

返回值: 数组的新长度。

描述:方法unshift()将把它的参数插入array的头部,并将已经存在的元素顺次地移到较高的下标处,以便留出空间。该方法的第一个参数将成为数组新的 元素0,如果还有每二个参数,它将成为新的元素1,以经类推。注意,unshift()不创建新数组,而是直接修改原有数组。

例子: 方法unshift()通常和方法shift()一起使用。

var a = []; // a : []
a.unshift(1); // a : [1]              Return 1
a.unshift(22); // a : [22,1]          Return 2
a.shift(); // a : [1]              Return 22
a.unshift(33, [4, 5]); // a : [33,[4,5],1]  Return 3


1.17 valueOf()


语法: arrayObject.valueOf()

返回值: valueOf() 方法返回 Array 对象的原始值。

描述: 该原始值由 Array 对象派生的所有对象继承。valueOf() 方法通常由 JavaScript 在后台自动调用,并不显式地出现在代码中。

var bool = new Boolean(0);
document.write(bool.valueOf());

输出false


目录
相关文章
|
7月前
|
监控 负载均衡 JavaScript
有哪些有效的方法可以优化Node.js应用的性能?
有哪些有效的方法可以优化Node.js应用的性能?
377 69
|
6月前
|
JavaScript Linux 内存技术
Debian 11系统下Node.js版本更新方法详解
本指南详细介绍在Linux系统中安装和管理Node.js的步骤。首先检查现有环境,包括查看当前版本和清除旧版本;接着通过NodeSource仓库安装最新版Node.js并验证安装结果。推荐使用nvm(Node Version Manager)进行多版本管理,便于切换和设置默认版本。同时,提供常见问题解决方法,如权限错误处理和全局模块迁移方案,以及版本回滚操作,确保用户能够灵活应对不同需求。
546 0
|
6月前
|
JavaScript Linux 内存技术
Debian 11系统下Node.js版本更新方法
Debian 11更新Node.js主要就是这三种方式,无论你是初涉其中的新手还是找寻挑战的专家,总有一种方式能满足你的需求。现在,你已经是这个
665 80
|
8月前
|
JavaScript 前端开发 Java
js 垃圾回收机制的方法
JS回收机制方法讲解
|
9月前
|
JavaScript 前端开发 API
JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、复杂API请求、DOM操作、搜索和过滤等,array.map()的使用详解(附实际应用代码)
array.map()可以用来数据转换、创建派生数组、应用函数、链式调用、异步数据流处理、复杂API请求梳理、提供DOM操作、用来搜索和过滤等,比for好用太多了,主要是写法简单,并且非常直观,并且能提升代码的可读性,也就提升了Long Term代码的可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
9月前
|
移动开发 运维 供应链
通过array.some()实现权限检查、表单验证、库存管理、内容审查和数据处理;js数组元素检查的方法,some()的使用详解,array.some与array.every的区别(附实际应用代码)
array.some()可以用来权限检查、表单验证、库存管理、内容审查和数据处理等数据校验工作,核心在于利用其短路机制,速度更快,节约性能。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
9月前
|
供应链 JavaScript 前端开发
通过array.every()实现数据验证、权限检查和一致性检查;js数组元素检查的方法,every()的使用详解,array.some与array.every的区别(附实际应用代码)
array.every()可以用来数据验证、权限检查、一致性检查等数据校验工作,核心在于利用其短路机制,速度更快,节约性能。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
5月前
|
测试技术 PHP 开发者
PHP 数组查找:为什么 `isset()` 比 `in_array()` 快得多?
PHP 数组查找:为什么 `isset()` 比 `in_array()` 快得多?
|
9月前
|
人工智能 Java
Java 中数组Array和列表List的转换
本文介绍了数组与列表之间的相互转换方法,主要包括三部分:1)使用`Collections.addAll()`方法将数组转为列表,适用于引用类型,效率较高;2)通过`new ArrayList<>()`构造器结合`Arrays.asList()`实现类似功能;3)利用JDK8的`Stream`流式计算,支持基本数据类型数组的转换。此外,还详细讲解了列表转数组的方法,如借助`Stream`实现不同类型数组间的转换,并附带代码示例与执行结果,帮助读者深入理解两种数据结构的互转技巧。
639 1
Java 中数组Array和列表List的转换
|
存储 Go 索引
go语言中的数组(Array)
go语言中的数组(Array)
253 67