【JS】按照a>b>c>d>e>f的优先级,将a,b,c,d,e,f元素进行筛选,选出三个不为空字符的元素进行字符拼接

 设计思路:

1、定义一个数组,把元素按照优先级进行排序;

2、 使用 filter() 方法过滤掉空字符串元素,得到一个新的数组;

3、在排序函数中,循环数组,使用 indexOf() 方法获取元素 a 和 b 在数组中的索引,然后根据索引的顺序进行排序;

4、选择排序后的前三个元素,并使用 join() 方法进行拼接;

 代码实现:


var elements = [a, b, c, d, e, f];
var filteredElements = elements.filter(function(element) {return element !== "";
});filteredElements.sort(function(a, b) {var priority = ['a', 'b', 'c', 'd', 'e', 'f'];return priority.indexOf(a) - priority.indexOf(b);
});var selectedElements = filteredElements.slice(0, 3);
var result = selectedElements.join('');

案例如下:

// 1.使用 filter() 方法过滤掉空字符串元素,得到一个新的数组 filteredElements。var elements = ["皮卡丘", "", "发出", "", "点击", "闪电"];
var filteredElements = elements.filter(function(element) {return element !== "";
});// 2.用 sort() 方法对 filteredElements 数组进行排序,根据元素在 priority 数组中的索引位置进行比较排序。 toLowerCase() 方法将元素转换为小写。filteredElements.sort(function(a, b) {var priority = ['a', 'b', 'c', 'd', 'e', 'f'];return priority.indexOf(a.toLowerCase()) - priority.indexOf(b.toLowerCase());
});// 3.使用 slice() 方法选择前三个元素,保存在 selectedElements 数组中
var selectedElements = filteredElements.slice(0, 3);// 4.使用 join() 方法将 selectedElements 数组的元素拼接成一个字符串
var result = selectedElements.join('');console.log(result); 

运行代码如下: 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/292273.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVA多态

前言 多态是同一个行为具有多个不同表现形式或形态的能力。 多态性是指父类的某个方法被其子类重写时,可以各自产生自己的功能行为 上转型 介绍多态之前,先介绍一下上转型。上转型(Upcasting)和多态(Polymorphism&a…

软件项目安全保证措施

一、 身份鉴别 二、 访问控制 三、 通信完整性、保密性 四、 抗抵赖 五、 数据完整性 六、 数据保密性 七、 应用安全支撑系统设计 软件开发全流程文档支撑下载:软件项目开发全套文档下载-CSDN博客

【Xcode】解决Unable to process request - PLA Update available

出现场景 IOS更新app时,使用Xcode上传新版本的包时,提示无法上传。 Unable to process request -PLA update available you currently dont have access to this membership resource. To resolve this issue ,agree to the latest program license a…

4 postman响应数据解析

上一篇:3 使用postman批量创建测试数据-CSDN博客 在接口测试中,从接口的响应结果中获取数据是很常用的。比如说做断言的时候,需要确保接口返回数据是符合预期的。又比如有些接口的输入参数值,需要用到前面接口运行返回的数据。下面先介绍如何解析响应数据(以json数…

pip 离线安装:利用pypi网站进行模块 库的离线安装

离线安装是一种很好的方法,在网络不佳、库版本不明确、复杂库本地编译安装报错时,通过whl文件的下载安装,可以很高效的解决问题。 pypi的网站:https://pypi.org/ 这个网站包含各种你 pip install xxx 的库,离线安装可…

【权威认证】飞凌嵌入式FET113i-S核心板国产化率达100%

经中国赛宝实验室的严格认证,飞凌嵌入式FET113i-S核心板的电子元器件国产化率达100%——这款超高性价比的全国产核心板为新基建领域的国产化替代升级注入了新动力。 关于【中国赛宝实验室】 中国电子产品可靠性与环境试验研究所(工业和信息化部电子第五研…

106 uni-app 小程序之巨坑 not found path,not found methods v-for渲染出现报错

1.Component is not found in path 你是否像我一样,检查了无数遍,引入路径检查千万遍,就是没写错,小程序后台就是给你报错, 不用慌,心里默念:我不能砸电脑,我不能砸电脑&#xff0…

JavaGUI(但期末速成版)之事件监听和处理

点击返回标题->JavaGUI期末速成版-CSDN博客 前言 依旧先声明,本篇记录的JavaGUI编程都是十分精简的,内容只取常用的、套路的、应付期末考试的。 我先放两张ppt的原内容。。。 看完(我觉得你可能都没看完),摊牌了&a…

备份至关重要!如何解决iCloud的上次备份无法完成的问题

将iPhone和iPad备份到iCloud对于在设备发生故障或丢失时确保数据安全至关重要。但iOS用户有时会收到一条令人不安的消息,“上次备份无法完成。”下面我们来看看可能导致此问题的原因,如何解决此问题,并使你的iCloud备份再次顺利运行。 这些故…

做外贸多想一步,多走一步

最近在网上给小儿买了一个液晶画画板,自从告诉小儿已经购物需要耐心等待之后,几乎每天小儿要询问几遍,快递到哪里了? 好不容易盼到了,结果打开一看却是个坏的,虽然外包装是好的,但是明显这个快…

B/S医院手术麻醉临床管理系统源码 手术申请、手术安排

手术麻醉系统概述 手术室是医院各个科室工作交叉汇集的一个重要中心,在时间、空间、设备、药物、材料、人员调配的科学管理、高效运作、安全质控、绩效考核,都十分重要。手术麻醉管理系统(Operation Anesthesia Management System&#xff0…

61权限提升-RedisPostgre令牌窃取进程注入

主要讲解redis数据库和postgresql数据库,然后还要两个windows的提权方式令牌窃取和进程注入。 postgresql是基于两个cve的漏洞,redis的提权方式第一种是利用任务执行的反弹shell,第二个是写一个ssh-keygen的公钥使用私钥登录,这是…