1.pop()
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.pop();
=>
Banana,Orange,Apple
pop() 方法用于删除数组的最后一个元素并返回删除的元素。
2.splice()
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2,0,"Lemon","Kiwi");
=>
Banana,Orange,Lemon,Kiwi,Apple,Mango
splice() 方法用于添加或删除数组中的元素。改变原数组
注意,它返回被删除那些元素的数组
3.map()
let arr = [1, 2, 3, 4, 5];
var res = arr.map( item => {
return item * 2;
});
=>
[2, 4, 6, 8, 10]
处理数组的每一项 ,但并不改变原数组
4.filter()
let arr = [1, 2, 3, 4, 5];
var res = arr.filter( item => {
return item > 3;
});
=>
[4, 5]
filter()用于删除符合条件的元素,不改变原数组
5.some()
let arr = [1, 2, 3, 4, 5];
var res = arr.some( item => {
return item > 3;
});
=>
true
some()用于判断数组中是否有符合的项,返回布尔类型
6.every()
let arr = [1, 2, 3, 4, 5];
var res = arr.every( item => {
return item > 3;
});
=>
false
every()用于判断数组中是否所有项都符合条件,返回布尔类型
7.find()
let arr = [1, 2, 3, 4, 5];
var res = arr.find(item => {
return item > 1
})
=>
2
find()返回数组满足条件的元素的索引,只返回找到的第一个元素的索引
8.forEach()
var res = [];
arr.forEach(item => {
res.push(item*2)
})
=>
[2, 4, 6, 8, 10]
forEach(item,idx)用来遍历数组,但是没有返回值,可以用函数参数的索引值来修改数组
9.reduce()
let arr = [1, 2, 3, 4, 5];
var sum= arr.reduce(function(total,num){ //第一个参数为叠加总值,需要初始化,第二个参数是当前项
return total+ num;
},0);
=>
15
reduce()大多用于数组的累加
10.indexOf()
var str="Hello world, welcome to the universe.";
var n=str.indexOf("e");
=>
1
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
如果没有找到匹配的字符串则返回 -1。
11.concat()
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
var arr2 = new Array(3)
arr2[0] = "James"
arr2[1] = "Adrew"
arr2[2] = "Martin"
arr.concat(arr2)
=>
George,John,Thomas,James,Adrew,Martin
concat()方法用于连接2个或多个数组
12.join()
var arr = new Array(3);
arr[0] = "A";
arr[1] = "B";
arr[2] = "C";
arr.join(): A,B,C
arr.join(-): A-B-C
join()方法吧数组转换为字符串并使用指定的间隔符,默认为,
13.slice()
const animals = ['ant', 'bison', 'camel', 'duck', 'elephant'];
animals.slice(2)
=>
["camel", "duck", "elephant"]
animals.slice(2, 4)
=>
["camel", "duck"]
14.reverse()
功能:用于颠倒数组中的元素的顺序
返回值:返回颠倒顺序之后的数组
改变原有数组
15.sort()
var numbers = [4, 2, 5, 1, 3];
numbers.sort(function(a, b) {
return a - b;
});
=>
[ 1, 2, 3, 4, 5 ]
sort()用于数组的排列
16.Array.of()
// Array()只有一个参数的时候,参数的大小表示数组的长度
// 有多于一个参数,则表示数组元素
let arr1 = new Array(3);
console.log( arr1 ); //[ <3 empty items> ]
console.log( arr1.length ); //3
let arr2 = new Array(3,2,1);
console.log( arr2 ); //[ 3, 2, 1 ]
console.log( arr2.length ); //3
// Array.of()函数里面只要有参数,都表示数组元素成员
let arr3 = Array.of(1);
console.log( arr3 ); //[1]
console.log( arr3.length ); //1
let arr4 = Array.of(1,undefined);
console.log( arr4 ); //2
console.log( arr4.length ); //[ 1, undefined ]
17.Arr.from()
Array.from()方法就是将一个类数组对象或者可遍历对象转换成一个真正的数组。
一些obj的方法
let obj = {name:"Tom",age:17};
var res = Object.keys(obj)
// res : ["name", "age"]
var res = Object.values(obj)
// res : ["Tom", "17"]
var res = Object.entries(obj)
// res : [["name","Tom"], ["age",17]]
补充一点 虽然for...of不能遍历对象,
但是配合Object.keys(),Object.values(),Object.entries() 使用就无敌了
let {keys, values, entries} = Object;
let obj = { a: 1, b: 2, c: 3 };
for (let key of keys(obj)) {
console.log(key); // 'a', 'b', 'c'
}
for (let value of values(obj)) {
console.log(value); // 1, 2, 3
}
for (let [key, value] of entries(obj)) {
console.log([key, value]); // ['a', 1], ['b', 2], ['c', 3]
}