首页 > 解决方案 > Javascript基于数组值计算对象数组并将其用于本机反应

问题描述

这段代码在我的浏览器上完美运行,但是当我将它应用到 react native 时,我有一个错误

“可能的未处理承诺拒绝(id:0):TypeError:obj.room_type_id.includes不是函数。(在'obj.room_type_id.includes(id)'中,'obj.room_type_id.includes'未定义)”

var data = [{
  "floor": "1st",
  "name": "NAME0",
  "room_type_id": ["Y", "B", "S", "N"],
  "status": "Available"
}, {
  "floor": "7",
  "name": "NAME54",
  "room_type_id": ["O", "G", "C", "S"],
  "status": "Available"
}, {
  "floor": "64",
  "name": "NAME2",
  "room_type_id": ["A", "S", "Q", "D"],
  "status": "Available"
}, {
  "floor": "Bddh",
  "name": "NAME3",
  "room_type_id": ["A", "X", "S", "D"],
  "status": "Available"
}, {
  "floor": "Vh",
  "name": "NAME1",
  "room_type_id": ["A", "B", "C", "D"],
  "status": "Available"
}, {
  "floor": "Dyd",
  "name": "NAME2",
  "room_type_id": ["A", "B", "C", "D"],
  "status": "Available"
}]

let id = "B";
let dataResult = data.filter((obj) => obj.room_type_id.includes(id)).length;


console.log(dataResult)

标签: javascriptarraysreact-native

解决方案


尝试将数组对象解析为 JSON 对象以使用数组迭代方法。

let JSONData = JSON.parse(JSON.stringify(data))
let dataResult = JSONData.filter((obj) => obj.room_type_id.includes(id)).length;

推荐阅读