var result = redBalls.map(function(num) { return num < 10 ? '0' + num : num.toString(); }).join(' ') + ' ' + (blueBall < 10 ? '0' + blueBall : blueBall.toString());将上述代码换一种写法
时间: 2024-01-25 09:03:25 浏览: 83
可以使用箭头函数来简化上述代码的写法,如下所示:
```
let result = redBalls.map(num => (num < 10 ? '0' + num : num.toString())).join(' ') + ' ' + (blueBall < 10 ? '0' + blueBall : blueBall.toString());
```
这段代码和原来的代码实现的功能是完全相同的。它使用了箭头函数来代替了原来的匿名函数,省略了 `function` 关键字和 `return` 关键字,使代码更为简洁。
相关问题
function generate() { var redBalls = []; while (redBalls.length < 6){ var num = Math.floor(Math.random() * 33) + 1; if (redBalls.indexOf(num) === -1) { redBalls.push(num); } } redBalls.sort(function(a,b){ return a - b; }); var blueBall = Math.floor(Math.random() * 16) + 1; var result = redBalls.map(num => (num < 10 ? '0' + num : num.toString())).join(" ") + " " + (blueBall < 10 ? '0' + blueBall : blueBall.toString()); displayResult(result); } function displayResult(result){ var container = document.getElementById("ball-container"); container.innerHTML = ""; for (var i = 0; i <6; i++) { var ball = document.createElement("div"); ball.classList.add("red-ball"); ball.innerHTML = result.split(" ")[i]; container.appendChild(ball); } var ball = document.createElement("div"); ball.classList.add("blue-ball"); ball.innerHTML = result.split(' ')[6]; container.appendChild(ball); } 更改代码为jQuery
以下是使用 jQuery 改写后的代码:
```
function generate() {
var redBalls = [];
while (redBalls.length < 6){
var num = Math.floor(Math.random() * 33) + 1;
if (redBalls.indexOf(num) === -1) {
redBalls.push(num);
}
}
redBalls.sort(function(a,b){
return a - b;
});
var blueBall = Math.floor(Math.random() * 16) + 1;
var result = redBalls.map(num => (num < 10 ? '0' + num : num.toString())).join(" ") + " " + (blueBall < 10 ? '0' + blueBall : blueBall.toString());
displayResult(result);
}
function displayResult(result){
var $container = $("#ball-container");
$container.empty();
for (var i = 0; i <6; i++) {
var $ball = $("<div>").addClass("red-ball").text(result.split(" ")[i]);
$container.append($ball);
}
var $ball = $("<div>").addClass("blue-ball").text(result.split(' ')[6]);
$container.append($ball);
}
```
其中,`document.getElementById` 改为了 `$()`,`innerHTML` 改为了 `text()`,`document.createElement` 改为了 `$("<div>")`,`classList` 改为了 `addClass()`,`appendChild` 改为了 `append()`,`container.innerHTML = ""` 改为了 `$container.empty()`。
redBalls.indexOf(num) === -1 ; === 有什么用
=== 是 JavaScript 中的比较运算符,用于比较两个值是否相等,并且比较时不会进行类型转换。如果两个值相等,且类型也相同,则返回 true,否则返回 false。
在这个代码中,=== 用于比较 redBalls 数组中是否包含变量 num。redBalls.indexOf(num) 返回 num 在 redBalls 数组中的索引值,如果 num 不在 redBalls 数组中,则返回 -1。因此,当 redBalls.indexOf(num) === -1 时,意味着 num 不在 redBalls 数组中,即 redBalls 数组中不包含 num。
因为 JavaScript 是一门弱类型语言,使用双等号 == 比较时会进行类型转换,例如 1 == '1' 返回 true。为了减少类型转换可能带来的问题,建议使用三等号 === 进行比较,这样可以确保比较时不会进行类型转换。
阅读全文