js结合map对象等处理数组

```cpp
const INVENTORY_STATUS_MAP = {
  '7': { text: '全部' },
  '0': { text: '出租', color: 'mary-green' },
  '1': { text: '已售', color: 'mary-green' },
  '2': { text: '丢失', color: 'mary-orange' },
  '3': { text: '闲置', color: 'mary-green' },
  '4': { text: '退役', color: 'mary-orange' },
  '5': { text: '售后', color: 'mary-orange' },
  '6': { text: '待返厂', color: 'mary-green' }
};

const objTab = { quantity: 10, idleNum: 20, afterSaleNum: 90 };

const sortOrder = ['全部', '闲置', '售后'];

const result = Object.entries(INVENTORY_STATUS_MAP)
  .filter(([key]) => {
    if (key === '7') return objTab.hasOwnProperty('quantity');
    if (key === '3') return objTab.hasOwnProperty('idleNum');
    if (key === '5') return objTab.hasOwnProperty('afterSaleNum');
    return false;
  })
  .map(([key, value]) => ({
    text: value.text,
    total: key === '7' ? objTab.quantity : key === '3' ? objTab.idleNum : objTab.afterSaleNum
  }))
  .sort((a, b) => sortOrder.indexOf(a.text) - sortOrder.indexOf(b.text));

console.log(result);

你可能感兴趣的:(javascript,前端,开发语言)