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]));
原作者:
...