javascript - 如何使用 javascript 将过滤器应用于嵌套数组中的所有对象
问题描述
我有三个单选按钮,希望根据选项值显示,应该应用于嵌套数组中的每个对象。
// how to do the in nested object array for all `ids` and apply `options`
code:
const id = "trans";
const options = option_values.find(({id:x}) => x===id).options;
[...document.getElementsByClassName("form-check-input")].filter(({
value
}) => !options.includes(value)).forEach(elem => elem.style.display = 'none');
var option_value2 = [
{
id:"trans",
options: ["bank", "credit"]
},
{
id:"fund",
options: ["bank"]
}
]
<form>
<input class="form-check-input" name="sending-${provider.id}" type="radio" id="provider-send-bank transfer-${provider.id}" value="bank" title="bank" checked>
<input class="form-check-input" name="sending-${provider.id}" type="radio" id="provider-send-credit-${provider.id}" value="credit" title="credit">
<input class="form-check-input" name="sending-${provider.id}" type="radio" id="provider-send-debit-${provider.id}" value="debit" title="debit">
</form>
解决方案
您没有调用数组
option_values
来调用find
它的方法。它应该是option_value2
const options = option_values.find(({id:x}) => x===id).options;
find
调用该方法后,您正在向数组提供数据。应该反过来。var option_value2 = [ { id:"trans", options: ["bank", "credit"] }, { id:"fund", options: ["bank"] } ] const options = option_values.find(({id:x}) => x===id).options;
推荐阅读
- django - 将表单数据传递给 celery 任务
- javascript - AJAX 不提交
- python - 安排用于 scipy interpn 的 Pandas DataFrame
- django - Django:视图没有返回 HttpResponse 对象。它返回 None 而不是
- linux - 关于 LD_LIBRARY_PATH 和新条目的简单任务
- android - 如何在 Android 应用中为 Android sdk 和 java 实现智能感知
- javascript - 为什么在控制台中记录的 forEach 循环中没有删除数组元素?
- java - 使用二维数组和嵌套循环打印几何序列表
- single-sign-on - ADFS 中信赖方信任的 App Embed 链接是什么
- ios - Flutter iOS 14.5 - 使用新的跟踪/隐私指南处理外部网站 cookie