array.some(function(item,index,array){
return item>1;
})
只要有一个满足的就返回true,没有满足的返回false
验证全部的结果,当全部的值都为 true
时,则最终会得到 true
;只要其中之一为 false
,则返回 false
。
let people = [ { name: '马云', money: 2000 }, { name: '马化腾', money: 1800 }, { name: '我', money: Infinity } ];
var ans = people.every(function(item, index, array){
return item.money > 1800;
});
console.log(ans); // false: 只要有部分不符合,则为 false
var ans2 = people.every(function(item, index, array){
return item.money > 500;
});
console.log(ans2); // true: 大家钱都超过 500
forEach
没有返回值,可以不知道数组长度
arr.forEach(
function
(res,index){
})
const obj= { boss: 'xx', boss1: 'zz' };
map
函数,返回值组成新数组,原数组不变;
var
newarr=[1,2,3].map(
function
(res,index){
return
res+1;
});
console.log(newarr)
//[2,3,4]
filter
函数:过滤通过条件的元素组成一个新数组,原数组不变;
var
newarr=[1,2,3].filter(
function
(res){
return
res ==
2
});
console.log(newarr)
//[2]
join(separator): 将数组的元素组起一个字符串,省略的话则用默认用逗号为分隔符(separator为分隔符)
var
arr = [1,2,3];
console.log(arr.join());
// 1,2,3
shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined
var a = [1,2,3,4,5];
var b = a.shift(); //a:[2,3,4,5] b:1
unshift:将参数添加到原数组开头,并返回数组的长度
var a = [1,2,3,4,5];
var b = a.unshift(-2,-1); //a:[-2,-1,1,2,3,4,5] b:7
pop:删除原数组最后一项,并返回删除元素的值;如果数组为空则返回undefined
var a = [1,2,3,4,5];
var b = a.pop(); //a:[1,2,3,4] b:5
push:将参数添加到原数组末尾,并返回数组的长度
var a = [1,2,3,4,5];
var b = a.push(6,7); //a:[1,2,3,4,5,6,7] b:7
concat:返回一个新数组,是将参数添加到原数组中构成的
var a = [1,2,3,4,5];
var b = a.concat(6,7); // a:[1,2,3,4,5] b:[1,2,3,4,5,6,7]
splice(start,deleteCount,val1,val2,...):从start位置开始删除deleteCount项,并从该位置起插入val1,val2,...
var a = [1,2,3,4,5];
var b = a.splice(2,2,7,8,9); //a:[1,2,7,8,9,5] b:[3,4]
var b = a.splice(0,1); //同shift
a.splice(0,0,-2,-1); var b = a.length; //同unshift
var b = a.splice(a.length-1,1); //同pop
a.splice(a.length,0,6,7); var b = a.length; //同push
reverse:将数组反序
var a = [1,2,3,4,5];
var b = a.reverse(); //a:[5,4,3,2,1] b:[5,4,3,2,1]
sort(orderfunction):按指定的参数对数组进行排序
var a = [1,2,3,4,5];
var b = a.sort(); //a:[1,2,3,4,5] b:[1,2,3,4,5]
slice(start,end):返回从原数组中指定开始下标到结束下标之间的项组成的新数组
var a = [1,2,3,4,5];
var b = a.slice(2,5); //a:[1,2,3,4,5] b:[3,4,5]
Object.keys() 会创建一个包含对象键的数组。
Object.keys()
迭代对象的键和值。
Object.keys(obj).forEach(key => { let value = obj[key]; console.log(`${key}: ${value}`); });
Output
boss: zz
boss1: xx
const length = Object.keys(obj).length; // 4
Object.values() 创建一个包含对象值的数组。
const values = Object.values(obj);
["xx","zz"]
Object.entries() 创建对象的 键/值 对的嵌套数组。
const entries = Object.entries(obj);
// [ ["boss", "xx"] ["boss1", "zz"] ]
Object.assign() 用于把一个对象的值复制到另一个对象。 or 展开语法(...)
//前面的值会覆盖后面的值
const character1= Object.assign(aa, bb);
const aa= { a: 'a', b: 'b' };
const bb= { b: 'bb', c: 'c' };
const character = {...aa, ...bb}
character1 == character2 // {a:'a',b:'bb',c:'c'}
function dedupe(array) {
return [...new Set(array)]
}
var arr = [1,2,2,3,3,4,4,5,5]
console.log(dedupe(arr))