91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

操作JS字符串的技巧介紹

發布時間:2021-07-19 09:35:39 來源:億速云 閱讀:137 作者:chen 欄目:web開發

本篇內容介紹了“操作JS字符串的技巧介紹”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

JavaScript 字符串是不可變的,對于存儲可以由字符、數字和 Unicode 組成的文本很便捷。JavaScript 提供了許多內置函數,允許以不同的方式創建和操作字符串。下面一起來看看這4個優雅的操作 JavaScript 字符串的技巧。

1. 拆分字符串

JavaScript中的 split() 方法使用指定的分隔符字符串將一個 String 對象分割成子字符串數組,以一個指定的分割字串來決定每個拆分的位置。 有兩個可選參數(分隔符和可選限制計數)將字符串轉換為字符或子字符串數組,不設置分隔符將返回數組中的完整字符串。分隔符可以采用單個字符、字符串,甚至正則表達式。下面是使用正則表達式將使用逗號和空格拆分字符串的代碼:

const title = "4個,JavaScript 字符串技巧";
console.log(title.split(/[\s+,/]+/)); // [ '4個', 'JavaScript', '字符串技巧' ]
console.log(title.split(/[\s+,/]+/, 2)); // [ '4個', 'JavaScript' ]

通過 split() 函數拆分的字符串可以通過簡單地通過join("") 連接起來。

2. JSON格式化和解析

JSON 不是僅限 JavaScript 的數據類型,并且廣泛用于前后端數據交互。JSON.stringify() 函數用于將對象轉換為 JSON 格式的字符串。通常,只需將對象作為參數即可,如下所示:

const article = {
    title: "JavaScript 字符串技巧",
    view: 30000,
    comments: null,
    content: undefined,
};
const strArticle = JSON.stringify(article); 

console.log(strArticle); // {"title":"JavaScript 字符串技巧","view":30000,"comments":null}

從上面的代碼可以看到,在 stringify 中會過濾掉 undefined 的值,但 null 值不會。

JSON.stringify()  可以接受兩個可選參數,第二個參數是一個替換器,可以在其中指定要打印的鍵的數組或清除它們的函數。如下代碼:

console.log(JSON.stringify(article, ["title", "comments"])); // {"title":"JavaScript 字符串技巧","comments":null}
console.log(JSON.stringify(article, [])); // {}

對于一個巨大的 JSON,傳遞一個長數組可能影響可讀性及效率。因此,可以設置替換函數并為要跳過的鍵返回 undefined ,如下代碼:

const result = JSON.stringify(article, (key, value) =>
    key === "title" ? undefined : value
);
console.log(result); // {"view":30000,"comments":null}

JSON.stringify()  的第三個參數通過指定縮進(在嵌套塊中很有用)來格式化 JSON,可以傳遞一個數字來設置縮進間距,甚至可以傳遞一個字符串來替換空格。如下代碼:

console.log(JSON.stringify(article, ["title"], "\t"));

輸出的格式如下:

{
    "title": "JavaScript 字符串技巧"
}

還有一個 JSON.parse() 函數,它接受一個 JSON 字符串并將其轉換為一個 JavaScript 對象。它還接受一個 reviver 函數,可以在返回值之前攔截對象屬性并修改屬性值。

const reviver = (key, value) => (key === "view" ? 0 : value);

var jsonString = JSON.stringify(article);
var jsonObj = JSON.parse(jsonString, reviver);

console.log(jsonObj); // { title: 'JavaScript 字符串技巧', view: 0, comments: null }

3. 多行字符串和嵌入式表達式

在 JavaScript 中有三種創建字符串的方式,可以使用單引號 '' 、雙引號 "" 或反引號(鍵盤的左上方, 1 的左邊按鍵)。

const countries1 = "China";
const countries2 = "China";
const countries3 = `China`;

前兩種創建方式基本相同,并且可以混合和匹配以連接或添加帶引號的字符串(通過使用相反的語法風格),而反引號可以對字符串進行花哨而強大的操作。

反引號也稱為模板字面量,反引號在創建多行字符串和嵌入表達式時很方便。下面是如何在 JavaScript 中使用字符串插值創建多行字符串的代碼:

const year = "2021";
const month = 7;
const day = 2;
const detail = `今天是${year}年${month}月${day}日,
是個不錯的日子!`;

console.log(detail);

輸出的結果也換行了,如下:

今天是2021年7月2日,
是個不錯的日子!

除了字符串字面量,在 ${} 中允許任何有效的表達式,它可以是一個函數調用或表達式,甚至是一個嵌套模板。

標記模板是模板字面量的一種高級形式,它允許使用一個函數來解析模板字面量,其中內嵌的表達式是參數。如下代碼:

const title = "JavaScript 字符串技巧";
const view = 30000;

const detail = (text, titleExp, viewExp) => {
    const [string1, string2, string3] = [...text];
    return `${string1}${titleExp}${string2}${viewExp}${string3}`;
};

const intro = detail`本文的標題是《${title}》,當前閱讀量是: ${view}`;

console.log(intro); // 文的標題是《JavaScript 字符串技巧》,當前閱讀量是:30000

4. 驗證字符串數組中是否存在子字符串

查找 JavaScript 字符串中是否存在子字符串時間容易的事情,在 ES6 中,只需要使用 includes 函數。

但需要驗證字符串是否存于數據中,主要數組中其中一項包含就返回 true ,如果都不包含返回 false,因此需要使用 some 函數與includes 一起使用,如下代碼:

const arrayTitles = ["Javascript", "EScript", "Golang"];
const hasText = (array, findText) =>
    array.some((item) => item.includes(findText));

console.log(hasText(arrayTitles, "script")); // true
console.log(hasText(arrayTitles, "php")); // false

總結

JavaScript 字符串操作是項目中常見的操作,上面4個技巧值得學習并應用到實際開發中。

“操作JS字符串的技巧介紹”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

灵川县| 台南市| 南投县| 师宗县| 麟游县| 万盛区| 十堰市| 磐石市| 邢台县| 九龙县| 奉节县| 四子王旗| 武胜县| 井陉县| 茶陵县| 静乐县| 军事| 连云港市| 都江堰市| 栾城县| 泰州市| 苍梧县| 普格县| 合山市| 石首市| 封丘县| 西峡县| 禹州市| 枞阳县| 阿拉善盟| 五峰| 射洪县| 鸡东县| 栾城县| 赫章县| 邳州市| 秦皇岛市| 剑川县| 宜阳县| 正定县| 长泰县|