javascript - 查找最后匹配出现的索引
问题描述
我有要按variables
字母顺序添加的数组和下一个变量。它是 AZ,然后是 AA、AB、AC 等。所以当下一个变量是E
我想将它添加到长度 = 1 的字母的末尾时,如果下一个变量是AC
我会在字母的末尾添加它长度 = 2 等。我尝试使用 findIndex 执行此操作,但它返回第一次出现,而不是最后一次出现并lastIndexOf
接受值,而在我的情况下,它应该是给定长度的最后一个元素。
let variables = ['A', 'B', 'C', 'D', 'AA', 'AB'];
const nextVariable = 'E';
const idx = variables.findIndex(x => x.length === nextVariable.length);
variables.splice(idx, 0, nextVariable);
console.log(variables);
// should be ['A', 'B', 'C', 'D', 'E', 'AA', 'AB']
解决方案
let variables = ['A', 'B', 'C', 'D', 'AA', 'AB'];
const nextVariable = 'E';
variables[variables.length] = nextVariable
variables = variables.sort((x,y) => x.length<y.length ? -1 : x.length==y.length ? x.localeCompare(y) : 1)
console.log(variables);
推荐阅读
- amazon-cloudformation - 用于将多个文件系统附加到单个 EBS 卷的 Cloudformation 模板
- css - 在 flexbox 元素上居中可变宽度标题
- c# - C#用数组反序列化json
- c# - 如何知道 IConfiguration 上是否存在密钥
- python - 使用 PYTHON 将 2 个数组对象转换为 JSON 对象中的键值对
- typescript - 为什么 TypeScript 不尊重我的 node_modules 目录中的“排除”?
- c++ - 使用共享 CQ 的多个 ServerAsyncWriter::Write 调用的线程安全
- drools - Drools - 找不到合适的构造函数(长类型参数)
- sql - MSACESS - JOIN 表达式不支持错误
- selenium - 自动建议列表的 XPath 不起作用