zoukankan      html  css  js  c++  java
  • JavaScript:json数组去重

    实现思路


      1. 定义一个新的数组,用于存放去重后的json数组

      2. for循环对比每组object,如果不同就push进新数组

    源码展示


    // 比较两组 json 是否相同
    ifCompare(object1, object2) {
      var o1keys = Object.keys(object1)
      var o2keys = Object.keys(object2)
      if (o2keys.length !== o1keys.length) return false
      for (let i = 0; i < o1keys.length; i++) {
        const key = o1keys[i]
        if (!o2keys.includes(key)) return false
        if (object2[key] !== object1[key]) return false
      }
      return true
    }
    
    // json数组去重
    let arrayNew = []
    const jsonArray = [{ a1: 'a', a2: 'c' }, { a1: 'a', a2: 'b', a3: 'c' }, { a1: 'a', a2: 'c' }, { a2: 'c', a1: 'a' }]
    if (jsonArray.length > 0) {
      arrayNew = [jsonArray[0]]
      for (let i = 0; i < jsonArray.length; i++) {
        var flag = false
        for (let j = 0; j < arrayNew.length; j++) {
          if (this.ifCompare(jsonArray[i], arrayNew[j])) {
            flag = true
          }
        }
        if (!flag) {
          arrayNew.push(jsonArray[i])
        }
      }
    }
    console.log('jsonArray', jsonArray)
    console.log('arrayNew', arrayNew)

    代码分析


     

  • 相关阅读:
    设计模式:备忘录模式??
    jQuery总结
    MYSQL(三)
    MYSQL(二)
    MYSQL(一)
    Web.xml配置详解
    Spring-JDBC通用Dao
    网络七层协议的形象说明
    网络编程概念
    JSP 9 大内置对象详解
  • 原文地址:https://www.cnblogs.com/guisenbin/p/15160526.html
Copyright © 2011-2022 走看看