1、在 JavaScript 中将数组本地转换为对象
JavaScript 有一个原生函数 Object.fromEntries,可用于将任何输入数组转换为对象。
1.const anArray = [
2. ['firstname', 'Paul'],
3. ['surname', 'Knulst'],
4. ['address', 'worldwide'],
5. ['role', 'Senior Engineer'],
6. ['followers', 'not much'],
7.];
8.
9.
10.const anObj = Object.fromEntries(anArray);
11.console.log(anObj);
12.// {
13.// firstname: 'Paul',
14.// surname: 'Knulst',
15.// address: 'worldwide',
16.// role: 'Senior Engineer',
17.// followers: 'not much'
18.// }
2、递归得到一个数的斐波那契
递归是每个软件开发者必须知道的概念!
此 JavaScript 片段显示了以递归方式实现的斐波那契函数。
1.const getFibonacci = (n, memo = {}) =>
2. memo[n] ||
3. (n <= 2
4. ? 1
5. : (memo[n] = getFibonacci(n - 1, memo) + getFibonacci(n - 2, memo)));
6.
7.
8.console.log(getFibonacci(4)); // 3
9.console.log(getFibonacci(8)); // 21
3、检查约会对象是否在周末
这个 JavaScript 片段显示了检查每个 Date 对象是否为周末是多么容易。
您可以更改周数(6 和 0)并将其替换为任何其他工作日编号以检查不同的日子。
1.const isWeekend = (date) => date.getDay() === 6 || date.getDay() === 0;
2.
3.
4.console.log(isWeekend(new Date())); // false
5.console.log(isWeekend(new Date('2022-10-28'))); // false
6.console.log(isWeekend(new Date('2022-10-29'))); // true
4、将 24 小时制时间格式转换为 am/pm
使用不同的时间格式是一件痛苦的事情。
这个简单的 JavaScript 片段显示了一个将任何 24 小时制时间转换为上午/下午时间的函数。
1.const toAMPMFormat = (h) =>
2. `${h % 12 === 0 ? 12 : h % 12}${h < 12 ? ' am.' : ' pm.'}`;
3.
4.
5.console.log(toAMPMFormat(12)); // 12 pm.
6.console.log(toAMPMFormat(21)); // 9 pm.
7.console.log(toAMPMFormat(8)); // 8 am.
8.console.log(toAMPMFormat(16)); // 4 pm
5、 检查对象中是否存在属性
有时你想在打印或使用它们之前检查属性是否存在。
JavaScript 没有在使用它之前执行 if property !== undefined ,而是有一个内置函数来执行此操作。
1.const developer = {
2. name: 'Paul Knulst',
3. role: 'Tech Lead',
4. extra: 'Loves DevOps',
5. company: 'Realcore',
6. os: 'Windows',
7.};
8.
9.
10.const laptop = {
11. os: 'Windows',
12. buydate: '27.10.2022',
13. extra: 'looks cool',
14.};
15.console.log('name' in developer); // true
16.console.log('extra' in developer); // true
17.
18.
19.console.log('name' in laptop); // false
20.console.log('extra' in laptop); // true