js简写
在数组中查找对象
要通过其中一个属性从对象数组中查找对象的话,我们通常使用for
循环:
let inventory = [ {name: 'Bananas', quantity: 5}, {name: 'Apples', quantity: 10}, {name: 'Grapes', quantity: 2} ]; // Get the object with the name `Apples` inside the array function getApples(arr, value) { for (let index = 0; index < arr.length; index++) { // Check the value of this object property `name` is same as 'Apples' if (arr[index].name === 'Apples') { //=> 🍎 // A match was found, return this object return arr[index]; } } } let result = getApples(inventory); console.log( result ) //=> { name: "Apples", quantity: 10 }
function getApples(arr, value) { return arr.find(obj => obj.name === 'Apples'); // <-- here }
短路求值
function getUserRole(role) { let userRole; // If role is not falsy value // set `userRole` as passed `role` value if (role) { userRole = role; } else { // else set the `userRole` as USER userRole = 'USER'; } return userRole; } console.log( getUserRole() ) //=> "USER" console.log( getUserRole('ADMIN') ) //=> "ADMIN"
function getUserRole(role) { return role || 'USER'; // <-- here } console.log( getUserRole() ) //=> "USER" console.log( getUserRole('ADMIN') ) //=> "ADMIN"