javascript - 如何形成嵌套数组的数组?
问题描述
根据电话是否与模拟人生匹配,使用 2 个阵列形成新的子阵列阵列时遇到一些麻烦。我要组织:
let phones = ["phone1", "phone2", "phone3"]
let sims = [ 'phone1sim1', 'phone1sim2', 'phone2sim1', 'phone2sim2', 'phone1sim3', 'phone3sim1' ]
进入一个子数组的数组,如下所示:
let orgPhones = [
["phone1", ["phone1sim1", "phone1sim2"]],
["phone2", ["phone2sim1", "phone2sim2"]],
["phone3", ["phone3sim1"]]
]
任何建议表示赞赏!
解决方案
要准确返回您需要的内容,您可以使用这些Array.protoype
方法;就像这样map
:filter
const organised = phones.map((phone)=> [phone, sims.filter(sim => sim.indexOf(phone)!== -1)]);
但是,我强烈建议您使用 JavaScript 对象而不是数组,如下所示:
{
phone1: ['phone1sim1', 'phone1sim2', 'phone1sim3']
phone2: ['phone2sim1', 'phone2sim2']
// etc...
}
根据上面概述的预期结果,我将使用以下内容:
const phones = ['phone1', 'phone2', 'phone3'];
const sims = ['phone1sim1', 'phone1sim2', 'phone2sim1', 'phone2sim2', 'phone1sim3', 'phone3sim1'];
const organised = {};
phones.map((phone)=> organised[phone] = sims.filter(sim => sim.indexOf(phone)!== -1));
推荐阅读
- html - rel=canonical 在页面上,但谷歌说没有定义
- python - 数组切片的多个轴上的 Numpy Argmax
- sql - 在 SQL 中搜索不同的 300 个名称表的所有可能组合之间的重复项
- html - 从发送活动参数
- c++ - 库编译期间的Mysql++和mingw32-make错误
- javascript - 如何在 mini-css-extract-plugin 中为 css 修复 hmr?
- image-processing - 将变量传递给类初始化定义python中的nn.Conv2d参数
- javascript - 正则表达式检查 hsl 字符串格式
- vb.net - vb.net 连接访问数据库
- angular - 使用翻译服务和字符串数组应用参数