【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); 

运行代码如下: 

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旺旺大力包

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值