javascript数组对象实例方法

javascript数组对象实例方法有:pop(),push(),reverse(),shift(),sort(),splice(),unshift(),concat(),join(),slice()

pop() : 移除数组中最后一个元素,并返回该元素。 如下:

var a=[1,2,3] ;
console.log(a.pop());   // 输出 3
console.log(a);   //输出 [1,2]

push() : 向数组尾部添加元素,并返回该数组的大小。如下:

var a =[1,2,3];
console.log(a.push(7));   //输出 4
console.log(a);  //输出 [1,2,3,7] 

reverse(): 倒置数组中的元素,并返回已倒置的数组。如下:

var a=[1,2,3,4];
var b = a.reverse();
console.log(b); //  [4,3,2,1]

shift() : 移除数组中第一个元素,并返回该元素。 如下:

console.log([1,2,3,4].shift());   //  1
console.log([4,5,6].shift());   // 4

sort() : 对数组元素进行排序。说明:方法参数可选。

(1)如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。如下:

console.log([1,2,3,4].sort());   // [1,2,3,4]
console.log([3,2,4,1].sort());   // [1,2,3,4]
console.log([‘a‘,‘b‘,‘c‘,‘d‘].sort());  // [‘a‘,‘b‘,‘c‘,‘d‘]
console.log([‘c‘,‘a‘,‘d‘,‘b‘].sort());  // [‘a‘,‘b‘,‘c‘,‘d‘]

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

  • 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
  • 若 a 等于 b,则返回 0。
  • 若 a 大于 b,则返回一个大于 0 的值。
var sortProFn = function(a,b){
    return a-b
};
var nuar = [19,4,13,10,5,7,5,20] ;
nuar.sort(sortProFn);
console.log(nuar);  // [ 4, 5, 5, 7, 10, 13, 19, 20 ]

splice() : 从一个数组中移除一个或多个元素,如果必要,在移除元素的位置上插入新元素,返回所移除的元素。其中参数说明:splice(arg1,arg2,arg3.....,argn);  前面两个参数arg1,arg2是必需的,参数arg3....argn: 可选,向数组添加的新项目。 参数arg1 : 整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。参数arg2: 要删除的项目数量。如果设置为 0,则不会删除项目

//只有前面两个参数情况下splice(arg1 , arg2),表示从数组第(arg1+1)个元素开始删除,总共删除元素个数为arg2。返回被删除的元素。
var a = [1,2,3,4];
console.log(a.splice(1,2));   //  [2,3]
console.log(a);   // [1,4]

console.log([1,2,3,4].splice(2,3)); // [2,3,4]
console.log([1,2,3,4].splice(2,20)); // [2,3,4]

//参数arg3...argn,向移除元素的位置上插入新元素。
var a  = [5,6,7,8,9];
console.log(a.splice(1,2,3,4)); // [6,7]
console.log(a);   // [5,3,4,8,9]

var b = [5,6,7,8,9]
console.log(b.splice(1,2,3,4,11,13,14)); // [6,7]
console.log(b); // [ 5, 3, 4, 11, 13, 14, 8, 9 ]

unshift() : 添加新元素到数组开始位置,并返回该数组大小,如下:

var a=[1,2,3,4];
console.log(a.unshift());   //输出4      (没有参数,不添加元素)
console.log(a);   //输出 [1,2,3,4]
console.log(a.unshift(8));  //输出5     (有参数,向数组开始位置插入元素8。)
console.log(a);   //输出 [8,1,2,3,4]

concat():多个数组组合,返回组合后新数组。参数为去组合的多个数组。如下:

var a = [1,2];
var b = [2,3,4];
var c = a.concat(b);
console.log(c);   // [1,2,2,3,4]

var d = c.concat([7,6],[8,9],[11,12,13]);
console.log(d); //[1,2,2,3,4,7,6,8,9,11,12,13]

var e = [].concat([0],[1],[2],[3],[4],[5],[6],[7],[8],[9]);
console.log(e); //[0,1,2,3,4,5,6,7,8,9]

join() : 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。返回该字符串,如下:

console.log([‘a‘,‘b‘,‘c‘].join("|"));    // ‘a|b|c‘

slice() : 返回数组其中一段元素组成的新数组。选择哪段元素由参数控制。说明:此方法不会修改该数组,返回新的数组。如下:

 // 只有一个参数情况下(start)。如果为正数,选取数组的第(start+1)个元素及其后面所有元素。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
console.log([1,2,3,4,5].slice(1)); //[2,3,4,5]
console.log([7,8,9].slice(-1));  // [9]
console.log([7,8,9].slice(-1)); // [8]

//参数(start,end) 选取方式是从数组的第(start+1)个元素到数组的第end个元素。
console.log([1,2,3,4,5].slice(1,3));  // [2,3]
时间: 2024-10-07 05:06:27

javascript数组对象实例方法的相关文章

JQuery $.each遍历JavaScript数组对象实例

查看一个简单的jQuery的例子来遍历一个JavaScript数组对象. var json = [ {"id":"1","tagName":"apple"}, {"id":"2","tagName":"orange"}, {"id":"3","tagName":"banana&q

javascript数组对象排序

javascript数组对象排序 JavaScript数组内置排序函数 javascript内置的sort函数是多种排序算法的集合 JavaScript实现多维数组.对象数组排序,其实用的就是原生的sort()方法,用于对数组的元素进行排序. sort() 方法用于对数组的元素进行排序.语法如下: ArrayObject.sort(order); 测试A: var mm=[1,4,0,6,3,1,2]; mm.sort(); alert(mm);//0 1 1 2 3 4 6 返回值为对数组的引

JavaScript数组对象的声明与使用

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>数组对象的声明与使用</title> </head> <body> <script typ

javaScript数组对象

定义数组 数组对象用来在单独的变量名中存储一系列的值. 我们使用关键词 new 来创建数组对象.下面的代码定义了一个名为 myArray 的数组对象: var myArray=new Array() 有两种向数组赋值的方法(你可以添加任意多的值,就像你可以定义你需要的任意多的变量一样). 1: var mycars=new Array() mycars[0]="Saab" mycars[1]="Volvo" mycars[2]="BMW" 也可以

了解JavaScript 数组对象及其方法

数组在我目前学习过的编程语言中都可以见到, 形形色色的方法也数不胜数, 不过功能都一样, 最多也就是方法名稍稍有所不同, 老外也没个准啊, 如果英语比较好的同学对于学习方法(method)来说是很快的, 因为基本都可以翻译出来, 不过也要勤加锻炼, 总体来说, 英语水平不怎么影响编程技术, 看看API的话, 认识点简单的词汇, 就差不多了. 数组对象 文中一再的把数组和对象一起说, 是因为数组具有对象的一切特性, 更准确的说数组属于一类对象, 一类继承自Array.prototype的对象, 所

javascript数组对象操作,location对象操作

Array 对象属性 FF: Firefox, IE: Internet Explorer 属性 描述 FF IE constructor 返回对创建此对象的数组函数的引用. 1 4 index   1 4 input   1 4 length 设置或返回数组中元素的数目. 1 4 prototype 使您有能力向对象添加属性和方法. 1 4 Array 对象方法 FF: Firefox, IE: Internet Explorer 方法 描述 FF IE concat() 连接两个或更多的数组

JavaScript数组(对象)方法

数组的方法:首先,数组的方法有数组原型方法,也有从object对象继承来的方法.这里只详细说明一下数组的原型方法. (1)join:把数组中的所有元素放入一个字符串.元素通过指定的分隔符进行分隔. 例如在控制台页面操作: var a=[1,2,3,4] => a [1, 2, 3, 4] a.join(':') =>"1:2:3:4" (2)push:向数组的末尾加一项,返回值是数组的新长度. var a=[1,2,3,4]; =>a [1, 2, 3, 4] a.p

javascript数组/对象数组的深浅拷贝问题

一.问题描述 在项目里的一个报名页面需要勾选两条信息(信息一和信息二),由于信息一和信息二所拥有的数据是一致的,所以后台只返回了一个对象数组,然后在前台设置了两个List数组来接收并加以区分.原型如下图: 测试出现的问题是:任意勾选信息一或信息二中的选项,对应另一个信息中的选项也会被勾选.比如我勾选了信息一的姓名和手机,那么信息二中的姓名和手机也会被勾选上.如下图: 二.错误代码 其实有过前一次项目里由于对象内存地址指向而导致的问题后,这次很快就意识到依旧是因为数组指向的问题,并给予了一些解决措

javascript 数组对象与嵌套循环写法

'use strict' var info=[{"name":"最近想跳河","interst":["历史","美食"],"wife":{"name":"a.wen","interst":["旅游","美食","教育人"]}}]; // ES6写法 for(let pe