Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.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 Array.prototype.filter未按预期工作_Javascript_Algorithm_Filter_Async Await_Es6 Promise - Fatal编程技术网

Javascript Array.prototype.filter未按预期工作

Javascript Array.prototype.filter未按预期工作,javascript,algorithm,filter,async-await,es6-promise,Javascript,Algorithm,Filter,Async Await,Es6 Promise,我正在使用星球大战API制作一个示例应用程序,需要使用html5中的选择字段和按钮过滤数据。我有一个名为filterBySelections的函数,它使用array.filter。职能应: 获取选择选项 如果选择了某个选项,则从参数对象中查找所有选项 我尝试使用array.includes来运行筛选方法 使用arr.filter中的数组[索引] CR90轻巡洋舰 后掠翼 贝尔布拉布 星际战斗机 绝地拦截器 歼星舰 贸易巡洋舰 太阳帆船 共和国攻击巡洋舰 A翼 B翼 纳布·菲瑟 千年鹰号

我正在使用星球大战API制作一个示例应用程序,需要使用html5中的选择字段和按钮过滤数据。我有一个名为
filterBySelections
的函数,它使用
array.filter
。职能应:

  • 获取选择选项
  • 如果选择了某个选项,则从参数对象中查找所有选项
我尝试使用
array.includes
来运行筛选方法 使用
arr.filter
中的
数组[索引]


CR90轻巡洋舰
后掠翼
贝尔布拉布
星际战斗机
绝地拦截器
歼星舰
贸易巡洋舰
太阳帆船
共和国攻击巡洋舰
A翼
B翼
纳布·菲瑟
千年鹰号
等于

 return array[index].name == opt2.textContent;
由于
opt1
是真实的,因此
&&
的计算结果为右侧。。。这可能不是你想要的。您已经在上面的if语句中介绍了这两种情况,所以

 return true;
或者只使用一些布尔代数:

  mylist = obj.filter((data) => data.name === opt1.textContent || data.name === opt2.textContent);
等于

 return array[index].name == opt2.textContent;
由于
opt1
是真实的,因此
&&
的计算结果为右侧。。。这可能不是你想要的。您已经在上面的if语句中介绍了这两种情况,所以

 return true;
或者只使用一些布尔代数:

  mylist = obj.filter((data) => data.name === opt1.textContent || data.name === opt2.textContent);

为什么
array[index]
而不是
data
?我在搜索mdn和w3schools文档时过度思考了很多内容。为什么
array[index]
而不是
data
?我在搜索mdn和w3schools文档时过度思考了很多内容