js数组类型的常用方法

Table of Contents

concat() 合并数组,返回合并后的数组

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

join() 把数组连接成为字符串,并用指定分隔符隔开

var a = [1, 2, 3];
console.log(a.join("/")); // 1/2/3

和python的语法不同,方向刚好是相反的,而且python要求合并的必须是字符串类型

# -*- coding: utf-8 -*-
a = [1, 2, 3]
a = [str(i) for i in a]
print("/".join(a))

pop() 取出并返回栈顶元素

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

push() 将元素压入栈,并返回栈的长度

var a = [1, 2, 3];
a.push("4"); //4

reverse() 翻转数组,返回当前数组

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

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

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

unshift() 向数组添加一个或多个元素,返回数组长度

var a = [1,2,3];
console.log(a.unshift(4,5,6)); // 6

slice 裁剪数组,返回一个新的数组对象

接收两个参数
* start
* end

var a = [1,2,3];
console.log(a.slice(1, 2));

通常被用来将伪数组转化为标准数组

function convert(){
  console.log(a);
  var a = Array.prototype.slice.call(arguments);
  console.log(a instanceof Array);
  console.log("a.length:"+a.length);
}
convert(1, 2, 3);

splice() 删除元素,并向数组添加元素,返回删除的元素

接收3个参数:
1. 起始位置
2. 选中的元素的数量
3. 替换的元素

var a = [1,2,3];
console.log(a.splice(0, 1, "4")); // ["4", 2, 3]

sort() 对数组排序, 返回当前数组

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

valueOf() 返回数组的原始值

var b = {name: 'b', order: 2}
var a = [1,2,3, b];
console.log(a.valueOf());

toSource() 返回对象的源代码

只有 Gecko 核心的浏览器(比如 Firefox)支持该方法,也就是说 IE、Safari、Chrome、Opera 等浏览器均不支持该方法。

var a = [1, 2, 3];
console.log(a.toSource());

toString() 将数组转化为字符串,返回字符串

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

toLocaleString() 将数组转化为本地字符串,返回字符串

var a = [1,2,3];
console.log(a.toLocaleString());

indexOf() 输入元素,有则返回元素下标,没有则返回-1

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