我有一个包含对象的大数据源,我在这里做错了什么

我有一个包含对象的大数据源。我想要做的是,对于每个键的每个新值,将对象放在数组的顶部。每次,对于每个键,我都会找到一个新值,并且我希望对象上升到该数据源。所以顶部的x元素将是该属性可以具有的x个不同的值。所以给出:

arr[0] = {name: john, age: 14, adress: xxx}
arr[1] = {name: john, age: 14, adress: xxx}
arr[2] = {name: marie, age: 14, adress: xxx}
arr[3] = {name: marie, age: 14, adress: xxx}
arr[4] = {name: john, age: 15, adress: xxx}

我会得到

arr[0] = {name: john, age: 14, adress: xxx}
arr[1] = {name: marie, age: 14, adress: xxx}
arr[2] = {name: john, age: 15, adress: xxx}
arr[3] = {name: marie, age: 14, adress: xxx}
arr[4] = {name: john, age: 14, adress: xxx}

我目前正在做的是遍历所有对象及其键以找到每个键的新值。这样做会将这个值保存到一个唯一的数组中,并将当前对象放在我的数组的顶部。对每个具有唯一键值的对象重复此过程,然后到第二个位置,然后到第三个位置,依此类推。

filterDS(dataSource){
    let uniqueColumns;
    let i = 0;
    let j = 0;
    let temp;
    dataSource.forEach(data => {
      let keys = Object.keys(data);
      keys.forEach( key => {
        console.log(key + ":" + data[key]);
        uniqueColumns[key].push(data[key]);
        temp = dataSource[i];
        j = dataSource.indexOf(data);
        dataSource[i] = dataSource[j];
        dataSource[j] = temp;
        i++
      })
    });
    return dataSource;
  }

但是,尝试读取未定义的值似乎会卡住。我尝试检查数据源、当前键值或事件当前对象是否为空,但它没有改变。它进入未定义或空字段并中断。我不知道我在这里做错了什么。

© 版权声明
THE END
喜欢就支持一下吧
点赞90 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片