从数据库中拿到数据后,无法支持使用map操作将其变成普通obj

阅读次数 85

下面的代码将输出成一堆 [{},{}]

  const rows = connection.queryAll('SELECT * FROM users').rows;
  console.log(rows);
  const users = rows.map(innerList => {
    const obj = {};
    innerList.forEach(item => {
      obj[item['name']] = item['value'];
    });
    return obj;
  });
  console.log(users);

只能用for来处理的

  const rows = connection.queryAll('SELECT * FROM users').rows;
  const users = [];
  for (let i = 0; i < rows.length; i++) {
    const innerList = rows[i];
    const obj = {};
    for (let j = 0; j < innerList.length; j++) {
      const item = innerList[j];
      obj[item['name']] = item['value'];
    }
    users.push(obj);
  }
  console.log(users);

这个BUG好像已经很久了,同样有问题的还有reduce

1 Answers