js对象(数组)技能总结

let arr1 = [1,2,3,5,8,9]
let arr2= [1,3,5]

let res = arr2.every((x)=>{
  return arr1.includes(x)
})

console.log(res) 

let arr1 = [1,2,3,5,8,9]
let arr2= [1,3,5,7]

let res1 = arr2.filter((x)=>{
  return arr1.includes(x)
})

console.log(res1)


复制代码
//isEqual:判断两个对象是否键值对应相等
function isEqual(a,b){
//如果a和b本来就全等
if (a===b){
//判断是否为0和-0
return a !== 0 || 1/a ===1/b;
}
//判断是否为null和undefined
if (a== null ||b== null ){
return a===b;
}
//接下来判断a和b的数据类型
var classNameA=toString.call(a),
classNameB=toString.call(b);
//如果数据类型不相等,则返回false
if (classNameA !== classNameB){
return false ;
}
//如果数据类型相等,再根据不同数据类型分别判断
switch (classNameA){
case '[object RegExp]' :
case '[object String]' :
//进行字符串转换比较
return '' + a === '' + b;
case '[object Number]' :
//进行数字转换比较,判断是否为NaN
if (+a !== +a){
return +b !== +b;
}
//判断是否为0或-0
return +a === 0?1/ +a === 1/b : +a === +b;
case '[object Date]' :
case '[object Boolean]' :
return +a === +b;
}
//如果是对象类型
if (classNameA == '[object Object]' ){
//获取a和b的属性长度
var propsA = Object.getOwnPropertyNames(a),
propsB = Object.getOwnPropertyNames(b);
if (propsA.length != propsB.length){
return false ;
}
for ( var i=0;i<propsA.length;i++){
var propName=propsA[i];
//如果对应属性对应值不相等,则返回false
if (a[propName] !== b[propName]){
return false ;
}
}
return true ;
}
//如果是数组类型


复制代码

if(classNameA == '[object Array]'){    if(a.toString() == b.toString()){      return true;    }    return false;  }}复制代码

 

reduce:

 const str = '9kFZTQLbUWOjurz9IKRdeg28rYxULHWDUrIHxCY6tnHleoJ'
  const obj = {}
  Array.from(str).reduce((accumulator, current) => {
    current in accumulator ? accumulator[current]++ : accumulator[current] = 1
    return accumulator  
  }, obj) 复制代码

http://underscorejs.org/#isEqual


http://www.css88.com/doc/lodash/#_isequalvalue-other

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值