javascript - javascript - 使用三元运算符但不使用if else语句的代码

61 0

这个javascript程序可以按预期使用三元运算符,但不能使用if else语句。 我做错了什么?

我试图解决一些基本的javascript练习,但是我一直坚持这个问题。 https://www.w3resource.com/javascript-exercises/javascript-basic-exercise-74.php

//Working code with ternary operator
 function all_max(nums) {
 var max_val = nums[0]> nums[2]? nums[0] : nums[2];
 nums[0] = max_val;
 nums[1] = max_val;
 nums[2] = max_val;
 return nums;
 }
 console.log(all_max([20, 30, 40]));
 console.log(all_max([-7, -9, 0]));
 console.log(all_max([12, 10, 3]));

//,如果有的话

 function all_max(nums) {
 if (var max_val = nums[0]> nums[2]) {
 return nums[0];
 } else {
 return nums[2];
 }
 nums[0] = max_value ;
 nums[1] = max_value ;
 nums[2] = max_value ;
return nums;
}
console.log(all_max([20, 30, 40]));
console.log(all_max([-7, -9, 0]));
console.log(all_max([12, 10, 3]));
时间:

79 4

你应该在if / else语句的主体中分配值,而不是在比较中,所以这样的东西应该适合你:

function all_max(nums) {
 let max_val = 0
 if (nums[0]> nums[2]) {
 max_val = nums[0];
 } else {
 max_val = nums[2];
 }
 nums[0] = max_val;
 nums[1] = max_val;
 nums[2] = max_val;
 return nums;
}
console.log(all_max([20, 30, 40]));
console.log(all_max([-7, -9, 0]));
console.log(all_max([12, 10, 3]));
原作者:
...