javascript - 如果 n 个字符串包含特定的输入字符并且仅将匹配的字符串列表数组存储在新数组中,如何传递条件语句?
问题描述
我无法解决问题:我想检查数组的“名称”字符串是否包含 searchInput 字符。如果我找到任何匹配的字符,则将数组的所有名称字符串的父对象存储在一个新数组中。
即使有匹配项,我的新数组有时也会异常显示为空。请检查我是否在逻辑或其他问题上做错了什么。
const search = document.querySelector('#search');
const ul = document.querySelector('.student-list');
function nameSearch(list){
let newList = [];
const searchInput = search.value.toLowerCase();
for(let i = 0; i < list.length; i++) {
let names = `${list[i].name.first.toLowerCase()} ${list[i].name.last.toLowerCase()}`;
if(searchInput.length != 0 && names.includes(searchInput)){
newList.push(list[i]);
}
解决方案
推荐阅读
- ruby-on-rails - Rails API:Netflix fast_jsonapi 和 Rails 渲染 - 双数据
- linux - 为什么'wget --page-requisites'非常慢
- vue.js - Vue3 自动前缀配置问题
- python - 如何在条件下通过另一个脚本杀死一个python脚本
- swift - 设计模式问题:当扩展和协议失败时
- node.js - Selenium 不会在无头模式下启动 chrome,无论我做什么
- erlang - 如何从 erlang 中的元组列表中访问一个值并从中创建一个新列表?
- javascript - Angular 6 dom-to-image 引发未捕获的错误(无法将 html 转换为图像)
- python - 未找到 kivy.uix.listview 模块
- javascript - Typescript nodejs - 正则表达式模式在变量内不起作用