この記事では、プロのようにコードを書くのに役立つ 20 の JavaScript ワンライナーを紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。
JavaScript は成長と発展を続けています。
JavaScript は最も簡単に始めることができる言語の 1 つであり、したがって市場に新しい言語であるためです テクノロジーオタクになる
ドアを開けました。 (疑問符の顔?)
確かに、JavaScript では多くの素晴らしいことができます。学ぶべきことはまだたくさんあります。
そして、JavaScript を初めて使用する場合でも、プロの開発者である場合でも、何か新しいことを学ぶことは常に良いことです。
この記事では、作業効率の向上とコードのデバッグに役立つ、非常に役立つワンライナー (20 件) をまとめました。
1 行のコードとは何ですか?
ワンライナーとは、たった 1 行のコードで特定の機能を実行するコーディング手法です。
この関数は、Math.random()
メソッドを使用してブール値 (true または false) を返します。 Math.random
0 から 1 までの乱数を作成し、それが 0.5 より大きいか小さいかを確認します。
これは、正解するか不正解になる確率が 50/50 であることを意味します。
const getRandomBoolean = () => Math.random() >= 0.5; console.log(getRandomBoolean()); // a 50/50 chance of returning true or false
この機能を使用すると、指定された日付が平日であるかどうかを確認できます。または週末。
const isWeekend = (date) => [0, 6].indexOf(date.getDay()) !== -1; console.log(isWeekend(new Date(2021, 4, 14))); // false (Friday) console.log(isWeekend(new Date(2021, 4, 15))); // true (Saturday)
数値が偶数か奇数かを確認する単純なユーティリティ関数です。
const isEven = (num) => num % 2 === 0; console.log(isEven(5)); // false console.log(isEven(4)); // true
配列からすべての重複値を削除する非常に簡単な方法配列 。この関数は、配列を Set に変換し、配列を返します。
const uniqueArr = (arr) => [...new Set(arr)]; console.log(uniqueArr([1, 2, 3, 1, 2, 3, 4, 5])); // [1, 2, 3, 4, 5]
変数が配列であるかどうかを確認するクリーンで簡単な方法。
もちろん、他の方法も可能です
const isArray = (arr) => Array.isArray(arr); console.log(isArray([1, 2, 3])); // true console.log(isArray({ name: 'Ovi' })); // false console.log(isArray('Hello World')); // false
これはは 2 つの数値を引数として受け取り、それら 2 つの数値の間で乱数を生成します。
const random = (min, max) => Math.floor(Math.random() * (max - min + 1) + min); console.log(random(1, 50)); // could be anything from 1 - 50
おそらく 一時
の一意の ID が必要です。外出先で使用できるトリックを次に示します。ランダムな文字列。
const randomString = () => Math.random().toString(36).slice(2); console.log(randomString()); // could be anything!!!
window.scrollTo()
メソッドは # を置きます## X および
Y 座標までスクロールします。
ゼロとゼロに設定すると、ページの一番上までスクロールします。
const scrollToTop = () => window.scrollTo(0, 0); scrollToTop();
if ステートメントを使用してブール値に設定する値を決定する代わりに、関数を使用できます。現在の値を反転します。
非演算子。
// bool is stored somewhere in the upperscope const toggleBool = () => (bool = !bool); //or const toggleBool = b => !b;
[foo, bar] = [bar, foo];
まず最初に2 つの日付間の絶対値を見つけて、それを 86400000 (1 日のミリ秒数に等しい) で除算し、最後に結果を四捨五入して返します。
const daysDiff = (date, date2) => Math.ceil(Math.abs(date - date2) / 86400000); console.log(daysDiff(new Date('2021-05-10'), new Date('2021-11-25'))); // 199
navigator.clipboard が存在するかどうかを確認するチェックを追加する必要がある場合があります。 .writeText
const copyTextToClipboard = async (text) => { await navigator.clipboard.writeText(text); };
concat メソッドを使用することです。もう 1 つはスプレッド演算子 (
#…) を使用します。
// Merge but don't remove the duplications const merge = (a, b) => a.concat(b); // Or const merge = (a, b) => [...a, ...b]; // Merge and remove the duplications const merge = [...new Set(a.concat(b))]; // Or const merge = [...new Set([...a, ...b])];
人们有时会使用库来查找JavaScript中某些内容的实际类型,这一小技巧可以节省你的时间(和代码大小)。
const trueTypeOf = (obj) => { return Object.prototype.toString.call(obj).slice(8, -1).toLowerCase(); }; console.log(trueTypeOf('')); // string console.log(trueTypeOf(0)); // number console.log(trueTypeOf()); // undefined console.log(trueTypeOf(null)); // null console.log(trueTypeOf({})); // object console.log(trueTypeOf([])); // array console.log(trueTypeOf(0)); // number console.log(trueTypeOf(() => {})); // function
需要从头开始截断字符串,这不是问题!
const truncateString = (string, length) => { return string.length < length ? string : `${string.slice(0, length - 3)}...`; }; console.log( truncateString('Hi, I should be truncated because I am too loooong!', 36), ); // Hi, I should be truncated because...
从中间截断字符串怎么样?
该函数将一个字符串作为第一个参数,然后将我们需要的字符串大小作为第二个参数,然后从第3个和第4个参数开始和结束需要多少个字符
const truncateStringMiddle = (string, length, start, end) => { return `${string.slice(0, start)}...${string.slice(string.length - end)}`; }; console.log( truncateStringMiddle( 'A long story goes here but then eventually ends!', // string 25, // 需要的字符串大小 13, // 从原始字符串第几位开始截取 17, // 从原始字符串第几位停止截取 ), ); // A long story ... eventually ends!
好吧,不幸的是,JavaScript
没有内置函数来大写字符串,但是这种解决方法可以实现。
const capitalize = (str) => str.charAt(0).toUpperCase() + str.slice(1); console.log(capitalize('hello world')); // Hello world
此简单的帮助程序方法根据选项卡是否处于视图/焦点状态而返回true
或false
const isTabInView = () => !document.hidden; // Not hidden isTabInView(); // true/false
如果用户使用的是Apple
设备,则返回true
const isAppleDevice = () => /Mac|iPod|iPhone|iPad/.test(navigator.platform); console.log(isAppleDevice); // true/false
当你只想在一行中编写if..else
语句时,这是一个很好的代码保护程序。
// Longhand const age = 18; let greetings; if (age < 18) { greetings = 'You are not old enough'; } else { greetings = 'You are young!'; } // Shorthand const greetings = age < 18 ? 'You are not old enough' : 'You are young!';
在将变量值分配给另一个变量时,可能要确保源变量不为null,未定义或为空。
可以编写带有多个条件的long if语句,也可以使用短路评估。
// Longhand if (name !== null || name !== undefined || name !== '') { let fullName = name; } // Shorthand const fullName = name || 'buddy';
希望对你有所帮助!
英文原文地址:https://dev.to/ovi/20-javascript-one-liners-that-will-help-you-code-like-a-pro-4ddc
更多编程相关知识,请访问:编程入门!!
以上がプロのようにコーディングできるよう、20 以上の JavaScript ワンライナーを学習してください。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。