javascript数组的方法

Array 数组方法

方法 描述
concat() 连接两个或更多的数组,并返回结果。
join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
pop() 删除并返回数组的最后一个元素
push() 向数组的末尾添加一个或更多元素,并返回新的长度。
reverse() 颠倒数组中元素的顺序。
shift() 删除并返回数组的第一个元素
slice() 从某个已有的数组返回选定的元素
sort() 对数组的元素进行排序
splice() 删除元素,并向数组添加新元素。
toSource() 返回该对象的源代码。
toString() 把数组转换为字符串,并返回结果。
toLocaleString() 把数组转换为本地数组,并返回结果。
unshift() 向数组的开头添加一个或更多元素,并返回新的长度。
valueOf() 返回数组对象的原始值

具体使用请参考w3c上的详情。本文给出一些使用例子和返回值

//concat() 方法用于连接两个或多个数组。
//该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
//arrayObject.concat(arrayX,arrayX,......,arrayX)
//arrayX 必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。
var a = [1,2,3];
var b = a.concat(4,5);
var c = ['jack','jonhn','tom'];
var d = ['jim','qdkfweb.cn'];
var e = c.concat(d);
document.write(a+"<br/>"); // 1,2,3
document.write(b+"<br/>"); //1,2,3,4,5
document.write(e+"<br/>");

//join() 方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。
//arrayObject.join(separator)
//separator 可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。
var a1 = [1,2,3];
document.write("join方法<br/>"+a1.join()+"<br/>");
var b1 = [1,2,3];
document.write(b1.join(".")+"<br/>"); //使用分隔符来分隔数组中的元素,输出1.2.3
document.write("join()的返回值类型为:"+typeof(a1.join())+"<br/>");

//pop() 方法用于删除并返回数组的最后一个元素。
//arrayObject.pop()
//创建一个数组,然后删除数组的最后一个元素。请注意,这也会改变数组的程度:
var a2 = [1,2,3];
var b2 = a2.pop();
document.write(b2+"<br/>"); //返回数组最后一个元素 3
document.write(a2+"<br/>"); //原有数组已经发生改变,去掉最后一个元素,返回 1,2

//push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
//arrayObject.push(newelement1,newelement2,....,newelementX)
//newelement1 必需。要添加到数组的第一个元素。
//newelementX 可选。可添加多个元素。
var a3 = [1,2,3];
var b3 = a3.push("qdkfweb.cn");
document.write(b3+"<br/>"); //输出新的数组长度 4
document.write(a3+"<br/>"); //原来的数组已经改变,1,2,3,qdkfweb.cn

//reverse() 方法用于颠倒数组中元素的顺序。
//arrayObject.reverse() 该方法会改变原来的数组,而不会创建新的数组。
var a4 = [1,2,3];
var b4 = a4.reverse();
document.write(b4+"<br/>"); //数组倒序 3,2,1
document.write(a4+"<br/>"); //数组已经发生改变,并且a4 === b4;
document.write(a4 === b4); //true

//shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
//arrayObject.shift()
//数组原来的第一个元素的值。
//如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined 值。请注意,该方法不创建新数组,而是直接修改原有的 arrayObject。
var a5 = [1,2,3];
var b5 = a5.shift();
document.write("<br/>");
document.write(b5+"<br/>"); //返回第一个 1
document.write(a5+"<br/>"); //数组a5已经发生变化,返回去掉第一个 2,3

//unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。跟pushu添加的顺序刚好相反
//arrayObject.unshift(newelement1,newelement2,....,newelementX)
//newelement1 必需。向数组添加的第一个元素。newelementX 可选。可添加若干个元素。
//IE 7及以下无法正确运行
var a6 = ['a','b','c'];
var b6 = a6.unshift('d');
document.write(b6+"<br/>"); //返回新的长度 4
document.write(a6+"<br/>"); //原来的数组已经改变,输出 d,a,b,c

//slice() 方法可从已有的数组中返回选定的元素。
//arrayObject.slice(start,end)
//start 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
//end 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
//返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。不会改变原来数组,而是返回一个子数组
var a7 = ['a','b','c'];
var b7 = a7.slice(1,3);
document.write(b7+"<br/>"); //返回新的数组 b,c
document.write(a7+"<br/>"); //原来的数组不变 a,b,c

//splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。该方法会改变原始数组。
//arrayObject.splice(index,howmany,item1,.....,itemX)
//index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
//howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
//item1, ..., itemX 可选。向数组添加的新项目。
var a8 = ['a','b','c','d'];
var b8 = a8.splice(2,0,"caibaojian")
document.write(a8+"<br/>"); //输出 a,b,caibaoijan,c,d
//alert(b8);
var c8 = a8.splice(1,3);
//document.write(c8+"<br/>");
document.write(a8);

//sort() 方法用于对数组的元素进行排序。
//arrayObject.sort(sortby)
//sortby 可选。规定排序顺序。必须是函数。
//返回值 对数组的引用。请注意,数组在原数组上进行排序,不生成副本。
var a9 = ['a','f','h','c'];
var b9 = a9.sort();
var c9 = [1,100,40,30,104,1000,4];
var d9 = c9.sort();
document.write("<br/>"+b9+"<br/>"); //a,c,f,h 按照字母输出
document.write(a9+"<br/>"); //原来的数组已经变化,a,c,f,h 按照字母顺序输出
document.write(d9+"<br/>"); //1,100,1000,104,30,4,40 数字没有按照大小输出,需要自定义一个顺序
function sortNumber(a,b)
{
return a - b
}
document.write(c9.sort(sortNumber)+"<br/>"); //1,4,30,40,100,104,1000

//toSource() 方法表示对象的源代码。
//该原始值由 Array 对象派生的所有对象继承。
//toSource() 方法通常由 JavaScript 在后台自动调用,并不显式地出现在代码中。
//只有 Gecko 核心的浏览器(比如 Firefox)支持该方法,也就是说 IE、Safari、Chrome、Opera 等浏览器均不支持该方法。
//object.toSource()

//toString() 方法可把数组转换为字符串,并返回结果。
//arrayObject.toString()
//返回值:arrayObject 的字符串表示。返回值与没有参数的 join() 方法返回的字符串相同。
var a11 = ['a','b','c','d'];
var b11 = a11.toString();
document.write(b11+"<br/>");
document.write("toString的返回值类型为:"+typeof(b11));

//arrayObject.toLocaleString()

//valueOf() 方法返回 Array 对象的原始值。
//arrayObject.valueOf()

演示返回值


关注我

我的微信公众号:前端开发博客,在后台回复以下关键字可以获取资源。

  • 回复「小抄」,领取Vue、JavaScript 和 WebComponent 小抄 PDF
  • 回复「Vue脑图」获取 Vue 相关脑图
  • 回复「思维图」获取 JavaScript 相关思维图
  • 回复「简历」获取简历制作建议
  • 回复「简历模板」获取精选的简历模板
  • 回复「加群」进入500人前端精英群
  • 回复「电子书」下载我整理的大量前端资源,含面试、Vue实战项目、CSS和JavaScript电子书等。
  • 回复「知识点」下载高清JavaScript知识点图谱

每日分享有用的前端开发知识,加我微信:caibaojian89 交流