js 学习三 Array

1.数组的长度

var sequence = [1, 1, 2, 3, 5, 8, 13];
sequence .length  //7

2.字符串转换成数组 string.split()

var myData = 'Manchester,London,Liverpool';
var myArray = myData.split(','); //["Manchester", "London", "Liverpool"]

3.数组转字符串
Array.join( ) 按照 指定的符号转换成字符串 默认是按照 ','转换成字符串
Array.toString() 返回表示指定数组及其元素的字符串

var myArray=["Manchester", "London", "Liverpool"]
var myNewString = myArray.join(',');
myNewString; //"Manchester, London, Liverpool"
var array1 = [1, 2, 'a', '1a'];
array1.toString()  // "1,2,a,1a"

4添加数组元素
Array.push()将一个或多个元素添加到数组的末尾,并返回数组的新长度。
Array.unshift()方法将一个或多个元素添加到数组的开头,并返回数组的新长度。

var animals = ['pigs', 'goats', 'sheep'];
animals.push('cows');//4
animals;  // ["pigs", "goats", "sheep", "cows"]

var array1 = [1, 2, 3];
array1.unshift(4, 5);// 5
array1;//[4, 5, 1, 2, 3]

5.删除数组元素
Array.pop() 从数组中删除最后一项
Array.shift()从数组中删除第一个元素并返回已删除的元素。此方法更改数组的长度。

var animals = ['pigs', 'goats', 'sheep'];
animals .pop(); //"sheep"
animals ;["pigs", "goats"]

var array1 = [1, 2, 3];
var firstElement = array1.shift();
array1; //[2, 3]
firstElement;//1

6.Array.isArray()
判断是否是数组 是返回true;否则false就是。

Array.isArray([1, 2, 3]);  // true
Array.isArray({foo: 123}); // false

7Array.prototype.concat()
合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。

var array1 = ['a', 'b', 'c'];
var array2 = ['d', 'e', 'f'];
array1.concat(array2);// ["a", "b", "c", "d", "e", "f"]

8 Array.prototype.filter()
array.filter()提供函数实现的测试的所有元素。true的保留

var words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present'];
const result = words.filter(word => word.length > 6);
result;// ["exuberant", "destruction", "present"]

删除值小于10的所有元素
function isBigEnough(value) {
  return value >= 10;
}
var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);
// filtered is [12, 130, 44]

根据搜索条件过滤数组内容
const fruits = ['apple', 'banana', 'grapes', 'mango', 'orange'];

const filterItems = (query) => {
  return fruits.filter(el => el.toLowerCase().indexOf(query.toLowerCase()) > -1);
};
console.log(filterItems('ap')); // ['apple', 'grapes']
console.log(filterItems('an')); // ['banana', 'mango', 'orange']

9.Array.keys()
获取数组的key 键迭代器不会忽略漏洞

var arr = ['a', , 'c'];
var sparseKeys = Object.keys(arr);
var denseKeys = [...arr.keys()];
sparseKeys; // ['0', '2']
denseKeys;  // [0, 1, 2]

10.Array.indexOf();
indexOf()方法返回可在数组中找到给定元素的第一个索引,如果不存在,则返回-1。

var beasts = ['ant', 'bison', 'camel', 'duck', 'bison'];
beasts.indexOf('bison');//1
beasts.indexOf('bison', 2);//4
beasts.indexOf('giraffe');//-1

11.Array.map()
map()方法创建一个新数组,其结果是在调用数组中的每个元素上调用提供的函数。

var array1 = [1, 4, 9, 16];
const map1 = array1.map(x => x * 2);
map1;//[2, 8, 18, 32]

12 Array.reverse()
reverse()方法将阵列反转。第一个数组元素成为最后一个,最后一个数组元素成为

const a = [1, 2, 3,4];
a; // [1, 2, 3,4]
a.reverse();
a; // [4,3, 2, 1]

13 Array.slice()
slice()方法返回一个阵列的一部分的一个浅拷贝到选自新的数组对象begin到end(end不包括)。原始数组不会被修改。

var animals = ['ant', 'bison', 'camel', 'duck', 'elephant'];
animals.slice(2);//  ["camel", "duck", "elephant"]
animals.slice(2, 4);//  ["camel", "duck"]
animals.slice(1, 5);// ["bison", "camel", "duck", "elephant"]

posted @ 2019-01-18 10:12  素衣居士  阅读(166)  评论(1编辑  收藏  举报