首頁 > web前端 > js教程 > 如何在 JavaScript 中建立類似 PHP 的 range() 的範圍函數?

如何在 JavaScript 中建立類似 PHP 的 range() 的範圍函數?

Susan Sarandon
發布: 2024-12-14 21:24:13
原創
324 人瀏覽過

How Can I Create a Range Function in JavaScript Similar to PHP's range()?

JavaScript 有像 PHP 的 range() 一樣的 Range 函數嗎?

PHP 的 range() 函數可以讓你輕鬆產生數字陣列或指定範圍內的字元。然而,JavaScript 沒有用於此目的的內建函數。以下是在 JavaScript 中實現此功能的幾種方法:

Numbers

利用 Array.keys() 方法:

[...Array(5).keys()]; // [0, 1, 2, 3, 4]
登入後複製

角色迭代

槓桿String.fromCharCode() 迭代字元範圍:

String.fromCharCode(...[...Array('D'.charCodeAt(0) - 'A'.charCodeAt(0) + 1).keys()].map(i => i + 'A'.charCodeAt(0)));
// "ABCD"
登入後複製

通用迭代

通用迭代
for (const x of Array(5).keys()) {
  console.log(x, String.fromCharCode('A'.charCodeAt(0) + x));
}
// 0,"A" 1,"B" 2,"C" 3,"D" 4,"E"
登入後複製

自訂範圍函數
function range(size, startAt = 0) {
    return [...Array(size).keys()].map(i => i + startAt);
}

function characterRange(startChar, endChar) {
    return String.fromCharCode(...range(endChar.charCodeAt(0) -
            startChar.charCodeAt(0), startChar.charCodeAt(0)))
}
登入後複製

建立可重複使用函數來產生範圍:

作為型別函數
function range(size:number, startAt:number = 0):ReadonlyArray<number> {
    return [...Array(size).keys()].map(i => i + startAt);
}

function characterRange(startChar:string, endChar:string):ReadonlyArray<string> {
    return String.fromCharCode(...range(endChar.charCodeAt(0) -
            startChar.charCodeAt(0), startChar.charCodeAt(0)))
}
登入後複製

作為型別函數

TypeScript 使用者可以定義型別函數:
_.range(10); // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
_.range(1, 11); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
登入後複製
外部函式庫或者,您可以使用第三方函式庫,例如 lodash.js,它提供了 range() 函式:

以上是如何在 JavaScript 中建立類似 PHP 的 range() 的範圍函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板