Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在将输出返回给用户JS之前过滤掉已删除的结果_Javascript_Arrays_Node.js_Filter_Sequelize.js - Fatal编程技术网

Javascript 在将输出返回给用户JS之前过滤掉已删除的结果

Javascript 在将输出返回给用户JS之前过滤掉已删除的结果,javascript,arrays,node.js,filter,sequelize.js,Javascript,Arrays,Node.js,Filter,Sequelize.js,在从服务器返回输出之前,我尝试过滤掉所有已删除的部分 我的模式的结构可以描述如下: results: - result: -item: -itemReservations: -reservationPart: -isDeleted: true -reservationPart: -isDeleted: fals

在从服务器返回输出之前,我尝试过滤掉所有已删除的部分

我的模式的结构可以描述如下:

results: 
   - result: 
       -item: 
          -itemReservations: 
               -reservationPart: 
                   -isDeleted: true
               -reservationPart: 
                   -isDeleted: false
               -reservationPart: 
                   -isDeleted: false
我添加了下面的代码,但是返回的输出仍然包含
part.isDeleted
true
的结果

...
.then(results =>
    results.map(result => {
      if (result.item.itemReservations.length > 0) {
        result.item.itemReservations.map(
          itemReservation => {
            itemReservation.reservationParts = itemReservation.reservationParts.filter(
              part => !part.isDeleted
            );
            return itemReservation;
          }
        );
      }
      return result;
    })
  ).then(filteredResults => ...)

该问题是针对
sequelize.js
-
result
是sequelize对象,而不是json对象:

添加

constjsonresult=result.toJSON()

解决了这个问题

正确代码:

.then(results =>
    results.map(result => {
      const jsonResult = result.toJSON();
        jsonResult.item.itemReservations.map(
          itemReservation => {
            itemReservation.reservationParts = itemReservation.reservationParts.filter(
              part => !part.isDeleted
            );
            return itemReservation;
          }
        );
      return jsonResult;
    })
  ).then(filteredResults => ...)

另外,正如另一个答案所建议的-
如果(result.item.itemReservations.length>0)
是无用的<代码>[].map(…)
返回
[]

您能否用有效的形状对象替换您的模式,以便人们能够更快地在其上编码?