我对如何处理这个问题感到非常困惑:
我有一个这样的数组:
arr=["X12","Z1","Y7","Z22","X4","X8"]
我希望对元素执行数学函数,以便:
每个以"X"开头的元素5
都有一个固定的值,因此如果数组arr
内有3
个以"X"开头的元素,它应该为(fixed value of X) multiplied by (No. of "X" element occurrences inside array) = 5x3 = 15.
:
我尝试了这样的东西来计算"X"元素出现的次数,但它不起作用。
var xcounter = 0;
calculate(){
this.arr.forEach(element => {
if(this.arr.includes("X"))
{
this.xcounter++; //this doesn't give me no. of X element occurrences though.
}
});
}
什么是整洁的方法?
您可以尝试将数组filter()
与字符串startsWith()
方法一起使用。
var arr = ["X12","Z1","Y7","Z22","X4","X8"];
var valueX = 5;
var occurencesX = arr.filter(item => item.startsWith('X')).length;
console.log(occurencesX * valueX);
你也可以试试这个
- 循环到阵列
- 查找您找到开头有 X 的值的次数
var arr=["X12","Z1","Y7","Z22","X4","X8"]
let total = 0
arr.forEach(
(row) =>{
total = row.startsWith('X')? total + 1 : total
}
)
console.log(total * 5)