!values.every((value) => isNaN(value))
时间: 2023-12-02 12:02:38 浏览: 117
`!values.every((value) => isNaN(value))` 是一个用于检查数组中是否存在非数字元素的表达式。
这个表达式使用了数组的 `every()` 方法和 `isNaN()` 函数来判断数组中的每个元素是否都不是数字。如果数组中的每个元素都不是数字,`every()` 方法会返回 `true`,否则返回 `false`。在这个表达式中,我们使用 `!` 运算符对结果进行取反,即如果数组中存在非数字元素,则表达式会返回 `true`,否则返回 `false`。
以下是一个示例,演示如何使用这个表达式来检查数组中是否存在非数字元素:
```javascript
const values = [1, 2, '3', 4, 5];
const hasNonNumericElement = !values.every((value) => isNaN(value));
console.log(hasNonNumericElement); // 输出 true
```
在这个例子中,数组 `values` 包含了数字和一个字符串 `'3'`。使用 `every()` 方法和 `isNaN()` 函数,我们判断数组中的每个元素是否都不是数字。由于存在非数字元素 `'3'`,所以表达式的结果为 `true`。
希望这可以回答你的问题!如果你还有其他问题,请随时提问。
相关问题
let emsBtn = document.getElementById('emsBtn') emsBtn.onclick = function() { let time = 3; let tel = document.getElementById('telNum').value if (isNaN(tel)) { document.getElementById('error').innerHTML = '请输入正确的手机号' } else if (tel.length != 11) { document.getElementById('error').innerHTML = '请输入正确的手机号' } else { document.getElementById('error').innerHTML = ' ' emsBtn.disabled = 'true' window.setInterval(function cutDownTimer() { if (time == 0) { emsBtn.disabled = 'true' emsBtn.value = '重新发送验证码' return } time-- emsBtn.value = time }, 1000) } }
这是一段 JavaScript 代码,它实现了一个倒计时的功能,用于发送手机验证码。当点击页面上的一个 id 为 "emsBtn" 的按钮时,会执行该函数。函数首先获取输入框中的手机号码,并检查其是否为 11 位数字。如果输入的不是数字或者手机号码长度不为 11 位,则会在页面上显示一个错误信息。如果手机号码输入正确,则按钮会变成不可点击状态,并开始倒计时。每隔 1 秒钟,时间减 1,同时将按钮上的文字更新为当前时间。当时间倒计时结束时,按钮会重新变成可点击状态,并将文字更新为 "重新发送验证码"。
const oneVolume = (data, i) => { // 货物-单箱体积 // 单箱体积=长*宽*高 data[i].singleBoxVolume = Number( (data[i].length * data[i].wide * data[i].high) / 1000000 ); }; const getTotalVolume = (data, i) => { // 货物-总体积 // 总体积=单箱体积*箱数 data[i].totalVolume = Number(data[i].singleBoxVolume * data[i].ctns); }; const getTotalWeight = (data, i) => { // 货物-总重量 // 总重量=单箱重量*箱数 data[i].totalWeight = Number(data[i].singleBoxWeight * data[i].ctns); }; const getTotalRatio = (data, i) => { // 货物-泡重比 if ( data[i].totalVolume != 0 && !isNaN(Number(data[i].totalWeight)) && !isNaN(Number(data[i].totalVolume)) ) { data[i].bubbleWeightRatio = 1 + " : " + (data[i].totalWeight / data[i].totalVolume); } else { data[i].bubbleWeightRatio = 1 + " : " + 0; } };以上方法都改成使用big.js
const Big = require('big.js');
const oneVolume = (data, i) => {
data[i].singleBoxVolume = new Big(data[i].length)
.times(data[i].wide)
.times(data[i].high)
.div(1000000)
.toNumber();
};
const getTotalVolume = (data, i) => {
data[i].totalVolume = new Big(data[i].singleBoxVolume)
.times(data[i].ctns)
.toNumber();
};
const getTotalWeight = (data, i) => {
data[i].totalWeight = new Big(data[i].singleBoxWeight)
.times(data[i].ctns)
.toNumber();
};
const getTotalRatio = (data, i) => {
if (
data[i].totalVolume !== 0 &&
!isNaN(Number(data[i].totalWeight)) &&
!isNaN(Number(data[i].totalVolume))
) {
data[i].bubbleWeightRatio = `1 : ${new Big(data[i].totalWeight).div(
data[i].totalVolume
)}`;
} else {
data[i].bubbleWeightRatio = `1 : 0`;
}
};
以上方法都已使用 Big.js 进行了修改,以确保精确计算。
阅读全文