JS数组

//JS数组是否包含指定值的数组        
Array.prototype.contains = function ( needle ) { for (i in this) { if (this[i] == needle) return true; } return false; }
//JS数组删除指定值得元素
        Array.prototype.removeByValue = function(val) {
              for(var i=0; i<this.length; i++) {
                if(this[i] == val) {
                  this.splice(i, 1);
                  break;
                }
              }
        }
if (array.contains('全部')) {
   array.removeByValue('全部');
}
var arr = ['A','B','C','D'];

length 计算数组的长度
  arr.length//4

indexOf() 搜索一个指定的元素的位置

  arr.indexOf('C');//2

  arr.indexOf('d');//-1,不存在返回-1

slice() 截取数组的部分长度,然后返回新的数组

  arr.slice(0,3);//从开始索引0开始,到结束索引结束,但不包括结束索引,['A','B','C']

  arr.slice(3);//从7开始到结束,['D'']

push() 想数组尾部添加若干内容

  arr.push('J','K');//['A','B','C','D','J','K']

pop() 删除数组尾部最后一个元素

  arr.pop();arr.pop();arr.pop();//连续删除3次

unshift() 向数组头部添加若干内容

  arr.unshift('J','K');//['J','K','A','B','C','D']

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

  arr.shift();arr.shift();arr.shift();//连续删除3次

sort() 给数组从新排序

  var arr = ['1','100','10','52','845']

  arr.sort();

  arr;//1,10,100,52,845

  function sortNum(a,b){ return a-b;}

  arr.sort(sortNum());

  arr;//1,10,52,100,845

reverse() 给数组倒序

  arr.reverse();//['D','C','B','A']

splice() 从指定的索引开始向数组中添加或者删除元素

  arr.splice(1,3,'E','F');//删除+添加,返回删除的元素['B','C','D']

  arr;//['A','E','F']

  arr.splice(1,3);//只删除,不添加,返回翻出的元素['B','C','D']

  arr;//['A']

  arr.splice(2,0,'E','F','G');//返回[],因为没有删除任何元素

  arr;//['A','B','C','D','E','F','G']

concat() 把当前的数组和另一个数组合并为一个新的数组

  var arr2 = [1,2,3]

  arr.concat(arr2);//['A','B','C','D',1,2,3],arr并没有被修改

join() 把当前数组用指定字符串连接起来,然后返回新的字符串

  arr.join('-');//'A-B-C-D'

清空

array.splice(0,array.length);//清空数组

//字符串数组转化为数字数组
var dataArr1 = str.split(",");
dataArr1.forEach(function(data, index, arr) {
arrayInt.push(+data);//arrayInt为数字数组
});

 数组复制-数组复制给数组(不能简单的==赋值)

var arr = [1, 2, 3], copyArr; 
copyArr = arr.slice(); //赋值

原文地址:https://www.cnblogs.com/haorun/p/6253040.html