javascript - 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)
解决方案
尝试将数组对象解析为 JSON 对象以使用数组迭代方法。
let JSONData = JSON.parse(JSON.stringify(data))
let dataResult = JSONData.filter((obj) => obj.room_type_id.includes(id)).length;
推荐阅读
- javascript - 创建动态 ng-template 并使用 viewchild 映射
- racket - 球拍 - 在一个范围内找到最大的素数
- php - 越南口音
- reactjs - 我可以只使用具有特定值的“UseEffect”吗?
- javascript - 如何使用此代码找到下一个级别所需的进度?
- python - numpy matmul中的分段错误
- r - 使用 if else 循环时出现错误“条件的长度 > 1,并且只会使用第一个元素”
- c# - 从 C# 在 Visual Studio 中切换文件
- c# - Xamarin 外部图像不显示问题
- c# - 在 C# 中使用嵌套类反序列化 JSON。在哪里创建对象实例?