javascript - 在字符串中添加数组中的数据并对其进行排序
问题描述
我正在尝试根据项目长度订购一个字符串
这是数组
var quote = [
0: {ref1: 'CE255X', price_u: '1024100'},
1: {ref1: 'M-TK137', price_u: '65400'},
2: {ref1: '126A', price_u: '242300'},
3: {ref1: 'M-CE278A', price_u: '35000'},
4: {ref1: 'M-Q2612A', price_u: '35000'},
5: {ref1: 'M-Q7551X', price_u: '130002'},
6: {ref1: '507A', price_u: '905300'},
7: {ref1: 'M-35A/36A/85A/78A', price_u: '35000'},
]
这是我尝试过的代码
let i = 0;
let detail = '';
for (let index = 0; index < quote.length; index++) {
i++;
if (quote[index].ref1.length <= 50) {
detail += i + '.' + quote[index].ref1.padEnd(38, '#');
detail += quote[index].price_u + '\n';
}
}
console.log(detail);
如果数据显示这个
1.CE255X########1024100
2.M-TK137#######65400
3.126A########242300
4.M-CE278A#######35000
5.M-Q2612A#######35000
6.M-Q7551X#######130002
7.507A########905300
8.M-35A/36A/85A/78A#####35000
我想以这种方式订购它,替换#
空格
1.CE255X################1024100
2.M-TK137###############65400
3.126A##################242300
4.M-CE278A##############35000
5.M-Q2612A##############35000
6.M-Q7551X##############130002
7.507A##################905300
8.M-35A/36A/85A/78A#####35000
任何帮助我都会感激
解决方案
您可以通过使用提取每个项目的长度来获取最长ref1
属性的长度,然后使用Math.max和扩展语法来获取结果数组的最大值。map
ref1
将 4 添加到结果中,并将其设置为填充时的目标长度:
var quote = [
{ref1: 'CE255X', price_u: '1024100'},
{ref1: 'M-TK137', price_u: '65400'},
{ref1: '126A', price_u: '242300'},
{ref1: 'M-CE278A', price_u: '35000'},
{ref1: 'M-Q2612A', price_u: '35000'},
{ref1: 'M-Q7551X', price_u: '130002'},
{ref1: '507A', price_u: '905300'},
{ref1: 'M-35A/36A/85A/78A', price_u: '35000'},
]
let i = 0;
let detail = '';
let maxLen = Math.max(...quote.map(e => e.ref1.length)) + 4
for (let index = 0; index < quote.length; index++) {
i++;
if (quote[index].ref1.length <= 50) {
detail += i + '.' + quote[index].ref1.padEnd(maxLen, '#');
detail += quote[index].price_u + '\n';
}
}
console.log(detail);
推荐阅读
- android - 已发布的 Beta 版应用程序选择加入链接不起作用
- assembly - 在汇编中找到大量的阶乘,当 n>=15 时不起作用
- flutter - 扑救地图
共享首选项 - reactjs - 我正在使用 React 为我的项目渲染来自这个 api 的一些数据,但它显示没有访问控制允许来源。知道有什么问题吗?
- r - R将分类数据转换为其他变量的虚拟集
- matlab - LSTM 中的 NumHiddenUnits
- javascript - 将组件的方法引用传递给 Vuex 中的操作
- python - 尝试在非包中进行相对导入”,即使使用 __init__.py
- azure-active-directory - Azure AD - 当用户确实有会话时,openid 连接 post_logout_redirect_uri
- reactjs - 在 ReactJS 中使用 Context 时如何将单个道具值传递给同一个组件