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"]