JS操作数组对象

数组

array.some(function(item,index,array){
               return item>1; 

            })

只要有一个满足的就返回true,没有满足的返回false

 

every:验证数组中是否每个元素都满足指定的条件

验证全部的结果,当全部的值都为 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))

你可能感兴趣的:(学习,知识点,get,记录)