美文网首页2020前端
js数组对象或数组常用操作

js数组对象或数组常用操作

作者: web前端攻城狮 | 来源:发表于2019-09-24 23:58 被阅读0次

找相同

 for (let i = 0; i < arr2.length; i++) {
      for (let j = 0; j < arr1.length; j++) {
           if(arr1[j].goods_id === arr2[i].goods_id){
              newArr.push(arr1[j]);
            }
       }
 }
console.log(newArr,'123sa')

去重

let hash = {}; 
newArr = newArr.reduce((preVal, curVal) => {
hash[curVal.cat_id] ? '' : hash[curVal.cat_id] = true && preVal.push(curVal); 
return preVal 
}, [])

找选中和未选中

const curListData = this.listData //当前接口的新数据
const selectedIds = val ? val.map(o=>o.goods_id):[] //ui框架提供的val当前选中的项 ids字段
const curListIds = curListData.map(o=>o.goods_id) //当前接口的新数据的ids字段

const noSelectedIds = curListIds.filter(o=>{   //循环,找出当前没有选中的ids
       return selectedIds.indexOf(o) < 0
})
const noSelectedArr = [] //循环,找出当前没有选中的ids的完整数组
 for(let i=0;i<noSelectedIds.length;i++){
      for(let j=0;j<curListData.length;j++){
           if(noSelectedIds[i] == curListData[j].goods_id){
                  noSelectedArr.push(curListData[j])
            }
      }                            
}
// console.log(val,'选中的')
// console.log(noSelectedArr,'未选中的')
if(val){
   //先添加进gouwuche并去重
   this.gouwuche = this.gouwuche.concat(selectedIds)
   let hash = {}
   this.gouwuche = this.gouwuche.reduce((preVal, curVal) => {
       hash[curVal] ? '' : hash[curVal] = true && preVal.push(curVal); 
       return preVal 
   }, [])
   //再删除未勾选
   const newArr = this.gouwuche
   for(let i=0;i<noSelectedIds.length;i++){
       const index = newArr.indexOf(noSelectedIds[i])
       if(index !== -1){
           newArr.splice(index,1)
       }
   }
   this.gouwuche = newArr
}else{
   const newArr = this.gouwuche
   for(let i=0;i<noSelectedIds.length;i++){
       const index = newArr.indexOf(noSelectedIds[i])
       if(index !== -1){
           newArr.splice(index,1)
       }
   }
   this.gouwuche = newArr
}

js 判断数组的对象中是否有某个值

const arr=[
{id:1,name:'a'},
{id:2,name:'b'},
{id:3,name:'c'}
]
arr.some(({id})=>id==2) 
//返回true或者false 可以在vue的标签使用 v-if

js如何判断对象数组中是否存在某个对象

var res = arr.some(item=>{
   if(item.name=='张三'){
      return true
  }
})
console.log(res) // 如果arr数组对象中含有name:'张三',就会返回true,否则返回false
if(res){ // 如果存在
  // do something
 }

相关文章

  • js数组对象或数组常用操作

    找相同 去重 找选中和未选中 js 判断数组的对象中是否有某个值 js如何判断对象数组中是否存在某个对象

  • [前端学习]js语法部分学习笔记,第四天

    JS内置数组对象操作 数组名.concat()连接两个或更多的数组 数组名.valueOf() 返回数组本身的值,...

  • js基础了解

    js数组常用遍历方法使用: js数组常用操作方法使用: 基本逻辑运算: 基本字符串操作方法:

  • JS jsonArray操作

    JS jsonArray操作 js对数组对象的操作以及方法的使用 如何声明创建一个数组对象:var arr = n...

  • js对象数组操作 数组操作

    var numbers = [1, 2, 3];var newNumbers1 = numbers.map(fun...

  • js数组

    js中数组是比较常用的对象,同时js中的数组也十分的灵活。一. 创建数组的方式 字面量数组 var arr=[1,...

  • JS对象 & JSON & JS数组操作

    JS对象 & JSON & JS数组操作 JSON 格式(JavaScript Object Notation 的...

  • JavaScript中数组操作常用方法

    1.检JavaScript中数组操作常用方法测数组 1)检测对象是否为数组,使用instanceof 操作符 2)...

  • JS文集的目录

    js基础心法 深浅拷贝(递归)深浅拷贝(首层浅拷贝) js 数据处理 数组对象查找的常见操作数组对象去重的常见操作...

  • js数组与对象常用操作方法

    一、Js相关数组操作 数组去除相同的 数组添加数数据 数组反转 打乱数组排序 取数组的前几个 数组扁平化 遍历对象...

网友评论

    本文标题:js数组对象或数组常用操作

    本文链接:https://www.haomeiwen.com/subject/vlzjyctx.html