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


目录
相关文章
|
3天前
|
Web App开发 JavaScript 前端开发
如何确保 Math 对象的方法在不同的 JavaScript 环境中具有一致的精度?
【10月更文挑战第29天】通过遵循标准和最佳实践、采用固定精度计算、进行全面的测试与验证、避免隐式类型转换以及持续关注和更新等方法,可以在很大程度上确保Math对象的方法在不同的JavaScript环境中具有一致的精度,从而提高代码的可靠性和可移植性。
|
15天前
|
缓存 监控 前端开发
JavaScript 实现大文件上传的方法
【10月更文挑战第17天】通过以上步骤和方法,我们可以实现较为可靠和高效的大文件上传功能。当然,具体的实现方式还需要根据实际的应用场景和服务器要求进行调整和优化。
|
2天前
|
JavaScript 前端开发 索引
js中DOM的基础方法
【10月更文挑战第31天】这些DOM基础方法是操作网页文档结构和实现交互效果的重要工具,通过它们可以动态地改变页面的内容、样式和行为,为用户提供丰富的交互体验。
|
2天前
|
缓存 JavaScript UED
js中BOM中的方法
【10月更文挑战第31天】
|
2天前
|
JavaScript 前端开发
.js方法参数argument
【10月更文挑战第26天】`arguments` 对象为JavaScript函数提供了一种灵活处理参数的方式,能够满足各种不同的参数传递和处理需求,在实际开发中具有广泛的应用价值。
14 7
|
3天前
|
JavaScript 前端开发 图形学
JavaScript 中 Math 对象常用方法
【10月更文挑战第29天】JavaScript中的Math对象提供了丰富多样的数学方法,涵盖了基本数学运算、幂运算、开方、随机数生成、极值获取以及三角函数等多个方面,为各种数学相关的计算和处理提供了强大的支持,是JavaScript编程中不可或缺的一部分。
|
8天前
|
JavaScript 前端开发 Go
异步加载 JS 的方法
【10月更文挑战第24天】异步加载 JavaScript 是提高网页性能和用户体验的重要手段。通过使用不同的方法和技术,可以实现灵活、高效的异步加载 JavaScript。在实际应用中,需要根据具体情况选择合适的方法,并注意处理可能出现的问题,以确保网页能够正常加载和执行。
|
19天前
|
人工智能 JavaScript 网络安全
ToB项目身份认证AD集成(三完):利用ldap.js实现与windows AD对接实现用户搜索、认证、密码修改等功能 - 以及针对中文转义问题的补丁方法
本文详细介绍了如何使用 `ldapjs` 库在 Node.js 中实现与 Windows AD 的交互,包括用户搜索、身份验证、密码修改和重置等功能。通过创建 `LdapService` 类,提供了与 AD 服务器通信的完整解决方案,同时解决了中文字段在 LDAP 操作中被转义的问题。
|
3天前
|
JavaScript 前端开发 开发者
|
21天前
|
存储 JavaScript 前端开发
JavaScript数组去重的八种方法详解及性能对比
在JavaScript开发中,数组去重是一个常见的操作。本文详细介绍了八种实现数组去重的方法,从基础的双重循环和 indexOf() 方法,到较为高级的 Set 和 Map 实现。同时,分析了每种方法的原理和适用场景,并指出了使用 Set 和 Map 是目前最优的解决方案。通过本文,读者可以深入理解每种方法的优缺点,并选择最合适的数组去重方式。
37 0