javascript - 数组过滤器 linq 未返回预期结果

标签 javascript linq.js

我正在尝试从数组获取existCount,该数组在所选数组中有id

但是出了点问题,我有一个 id = 5493 的项目,但 existCount.length = 0

我的JS代码:

enter image description here

Chrome 控制台 View :

enter image description here

我的错在哪里?

如何修复它?

谢谢!

最佳答案

问题在于 item.idscript.script_id 的类型,您正在比较数字和字符串。

item.id  script_id
  |         |
  v         v
5493 === "5493" -> false

console.log(5493 === "5493");

另一种方法是将 script_id 转换为数字

此方法使用 + 将该字符串转换为数字并进行正确的比较

console.log(5493 === +"5493");

这是一个说明示例。

var array = [{id: 4110, name: "Ele"}, {id: 4091, name: "SO"}, {id: 5493, name: "Target"}];

var script_id = "5493";
var result = array.filter(e => e.id === +script_id);

console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - 数组过滤器 linq 未返回预期结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49453683/

相关文章:

javascript - LinqJs - 使用非重复计数进行分组

javascript - 仅在 IE 中出现 window.open 错误 - 参数无效

javascript - Ext JS - 如何从 ViewModel 中获取应用程序的名称?

javascript - 在 Parse Cloud 代码中保存 "object without data"指针

javascript - linqjs 分组依据和

javascript - 如何使用 JavaScript 中的链接查找数组中最常见的数字?

javascript - js 的 linq : how to get cartesian product of multiple arrays

javascript - 使用 linqjs 使用另一个数组中的值过滤一个数组

javascript - Chrome 扩展程序可通过扩展程序弹出窗口中的按钮更改 DOM

javascript - React js添加onFocus类并删除onBlur类