创建元素时如何将括号添加到最小和最大数字

Posted

技术标签:

【中文标题】创建元素时如何将括号添加到最小和最大数字【英文标题】:how to add parentheses to lowest and highest number when creating elements 【发布时间】:2021-07-17 11:50:48 【问题描述】:
const liArray = [5.6, 8.7, 1.3, 10, 56];

const parentElement = document.getElementById("myDiv");

liArray.forEach((currentValue, index) => 
  var elm = document.createElement('p');
  elm.innerhtml = `$index + 1. $currentValue`;
  parentElement.appendChild(elm);
);

<div id="myDiv"></div>

我有这段代码为数组中的每个项目创建一个新的段落元素,因此结果将是:

1. 5.6
2. 8.7
3. 1.3
4. 10
5. 56

但我想在创建元素时自动将圆括号() 添加到最小和最大数字,这样创建的元素就会像这样

1. 5.6
2. 8.7
3. (1.3)
4. 10
5. (56)

我该怎么做?

【问题讨论】:

【参考方案1】:

您可以使用Math.min()Math.max() 来获取数组中的最小值和最大值。然后,当您循环遍历数组以输出到 UI 时,如果迭代中的项目与这些值之一匹配,则可以添加括号。试试这个:

const liArray = [5.6, 8.7, 1.3, 10, 56];
const min = Math.min.apply(Math, liArray);
const max = Math.max.apply(Math, liArray);
const parentElement = document.getElementById("myDiv");

liArray.forEach((currentValue, index) => 
  var elm = document.createElement('p');
  let text = `$index + 1. $(currentValue == min || currentValue == max) ? `($currentValue)` : currentValue`;
  elm.innerText = text;
  parentElement.appendChild(elm);
);
&lt;div id="myDiv"&gt;&lt;/div&gt;

顺便说一句,您可以使用 olli 元素,以便 HTML 为您生成编号列表,而无需自己跟踪 index

【讨论】:

啊,是的,我忘了我可以使用ol xD,感谢您的回答:D 嗨顺便说一句,我在这里有另一个疑问,如果有 2 个相同的数字并且它们都是最高/最低的数字,它会为两个数字添加括号,如何使它只添加括号到其中一个【参考方案2】:

您可以使用Math.minMath.max 找出数组限制。 apply 仅表示您可以将数组传递给instead of a delimited list of numbers 的那些方法。

const liArray = [5.6, 8.7, 1.3, 10, 56];

const min = Math.min.apply(Math, liArray);
const max = Math.max.apply(Math, liArray);

console.log(min, max)

const parentElement = document.getElementById("myDiv");

liArray.forEach((currentValue, index) => 
  var elm = document.createElement('p');
  if (currentValue === min || currentValue === max) 
    elm.innerHTML = `$index + 1. ($currentValue)`;
   else 
    elm.innerHTML = `$index + 1. $currentValue`;
  
  parentElement.appendChild(elm);
);
&lt;div id="myDiv"&gt;&lt;/div&gt;

【讨论】:

嗨顺便说一句,我在这里有另一个疑问,如果有 2 个相同的数字并且它们都是最高/最低的数字,它会为两个数字添加括号,如何使它只添加括号到其中一个

以上是关于创建元素时如何将括号添加到最小和最大数字的主要内容,如果未能解决你的问题,请参考以下文章

在 C++ 中,我需要创建一个程序,当输入某个数字时循环并停止,然后显示最大值和最小值

python求最大值最小值代码

PHP 选择排序

正则表达式知识补漏

如何对输入值进行排序

存储数字流中最大的 5000 个数字