A的数据归类在一起, B的数据归类在一起,C的数据归类在一起,以JSON格式形式?

作者站长头像
站长
· 阅读数 9

代码如下:

var t_tamiStorage = [
    {
        t_REMARK: "1",
        t_SUPPLIER: "",
        t_UNIT: "包",
        t_binRoom: "A",
        t_lotNumber: "00004",
        t_materialName: "细胞培养皿",
        t_materialNumber: "ZX20230021",
        t_putQuantity: "15",
        t_specificationModel: "细胞培养皿10个/包",
        t_storageLocation: "01-02",
        t_validUntil: "2023-05-26"
    },
    {
        t_REMARK: "1",
        t_SUPPLIER: "",
        t_UNIT: "包",
        t_binRoom: "B",
        t_lotNumber: "00004",
        t_materialName: "细胞培养皿",
        t_materialNumber: "ZX20230021",
        t_putQuantity: "15",
        t_specificationModel: "细胞培养皿10个/包",
        t_storageLocation: "01-02",
        t_validUntil: "2023-05-26"
    }
]
var t_tsliEmpty = [
    {
        t_REMARK: "王小帅",
        t_SUPPLIER: "",
        t_UNIT: "包",
        t_binRoom: "C",
        t_lotNumber: "00002",
        t_materialName: "蓝盖试剂瓶",
        t_materialNumber: "ZX20230021",
        t_putQuantity: "15",
        t_specificationModel: "细胞培养皿122个/包",
        t_storageLocation: "01-02",
        t_validUntil: "2023-05-26"
    },
    {
        t_REMARK: "1",
        t_SUPPLIER: "",
        t_UNIT: "包",
        t_binRoom: "A",
        t_lotNumber: "00004",
        t_materialName: "细胞培养皿",
        t_materialNumber: "ZX20230021",
        t_putQuantity: "15",
        t_specificationModel: "细胞培养皿10个/包",
        t_storageLocation: "01-02",
        t_validUntil: "2023-05-26"
    }
]

t_binRoom是标识符,现在是想要 A的数据归类在一起, B的数据归类在一起,C的数据归类在一起,A,B,C格式是[{}]期望将想要 A的数据归类在一起, B的数据归类在一起,C的数据归类在一起,以JSON格式形式,用原生js实现。大佬们,这个该怎么实现呢,谢谢大家

回复
1个回答
avatar
test
2024-06-30

文心一言给出的答案:

var result = {};

Object.keys(t_tamiStorage).forEach(function(key) {  
    var item = t_tamiStorage[key];  
    if (!result[item.t_binRoom]) {  
        result[item.t_binRoom] = [];  
    }  
    result[item.t_binRoom].push(item);  
});
Object.keys(t_tsliEmpty).forEach(function(key) {  
    var item = t_tsliEmpty[key];  
    if (!result[item.t_binRoom]) {  
        result[item.t_binRoom] = [];  
    }  
    result[item.t_binRoom].push(item);  
});
if (!Array.prototype.forEach) {  
  Array.prototype.forEach = function(callback, thisArg) {  
    var array = this;  
    for (var i = 0; i < array.length; i++) {  
      callback.call(thisArg, array[i], i, array);  
    }  
  };  
}
// 判断 Object.keys 是否可用  
if (!Object.keys) {  
  Object.keys = function(obj) {  
    if (typeof obj !== "object" && typeof obj !== "function" || obj === null) {  
      throw new TypeError("Object.keys called on non-object.");  
    }  
  
    var keys = [];  
    for (var prop in obj) {  
      if (Object.prototype.hasOwnProperty.call(obj, prop)) {  
        keys.push(prop);  
      }  
    }  
      
    return keys;  
  };  
}
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容