」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > JS - 關於字串原語的一切

JS - 關於字串原語的一切

發佈於2024-11-01
瀏覽:469

JS - All about String Primitive

  • 字串是基元,但它們仍然具有可在物件上使用的方法。
  • 每當我們呼叫字串上的方法時,JS 都會在後台將 String 原語轉換為 String 對象,然後在該對像上呼叫方法。此過程稱為裝箱,因為 String 基元被取出並放入充當盒子的 String 物件內,即它將參數傳遞到「new String()」方法內,將字串基元轉換為字串物件。
  • 作業完成後,物件在背景從 String 物件轉換回 String 基元。
  • 傳遞到「new String()」的任何內容都會成為可以使用 typeof 運算子進行驗證的物件。
const car = 'Lamborghini Huracan EVO';

// Similarity of strings with arrays in JS
car[0];
car[car.length-1];
car.length;

// From begin
car.indexOf('o');
car.indexOf('Huracan');

// From end
car.lastIndexOf('E');

// index(begin, end) are used to extract part of string which are then passed to slice() as argument.
car.slice(car.indexOf('o'));
car.slice(8);
car.slice(8,15);  // Extracted string length will be (end-begin) as mentioned below

// String are primitives, hence immutable. Always use a data-structure to return a new string after the operation.

// Extract till a particular location inside an index.
car.slice(0, car.indexOf(' '));

// Extract the last word.
car.slice(car.lastIndexOf(' ')); // extracts along with space
car.slice(car.lastIndexOf(' ')   1); //  1 added to exclude the space

// Extract from the end using negative values
car.slice(-7);
car.slice(1, -1);
car.slice(0, -1);

function knowYourSeatLocation(seat){
  const x = seat.slice(-1);
  if(x === 'W'){     console.log("Window Seat");  }
  if(x === 'M'){    console.log("Middle Seat");  }
  if(x === 'A'){    console.log("Aisle Seat");  }
}
knowYourSeatLocation('43W');
knowYourSeatLocation('12A');
knowYourSeatLocation('67M');

// Common Methods:
car.toLowerCase();
car.toUpperCase();
car.trim();
car.trimStart();
car.trimEnd();

// Methods returning boolean: Very good for conditional statements.
car.includes('Lambo');
car.startsWith('Lam');
car.endsWith('EVO');

// On taking user i/p convert it to lowercase before performing any operations on the text. It would eliminate a lot of error sources related to letter-case.

// Usage: Converting first letter to uppercase incase user enters name in mixed case to maintain consistency
// Usage: Email validation for characters esp whitespace, invalid characters etc.

// String replacement: (ToBeReplaced, ReplceWith)
// replace() : A case-sensitive method. Immutable Methods for functional Programming:
car.replace(' ','_');
car.replaceAll(' ','_');

// Using RegEx: Target text has to be enclosed between // with flag at the end. Desired text to be passed as second argument.
car.replace(/ini/g,'123456');

// .split(): split the text based on condition, return the elements in the form of an array
// .join(): opposite of .split()
car.split(''); // as characters
car.split(' '); // as words
car.split('i'); // based on a character

// Destrucutring makes it easier as compared to using .slice()
const name = 'Peter Parker';
const [fName, lName] = name.split(' ');
fName;
lName;

//  Adding saluttations to the name:
const title = ['Mr.', fName, lName.toUpperCase()].join(' ');
title;

// Usage: First letter of a Name capitalization
const capitalizeName = function(name){
  const names = name.split(' ');
  const namesUpper = [];

  for(const n of names){
    // Method 1 and Method 2 are listed below in two lines. Both work.
    // namesUpper.push(n[0].toUpperCase()   n.slice(1));
    namesUpper.push(n.replace(n[0],n[0].toUpperCase()));
  }
  console.log(namesUpper.join(' '));
};

capitalizeName('amar akbar anthony amarjeet');


// Padding a string i.e adding certain characters until a desired length is achieved.
// (DesiredLength, ToBePaddedWith)
const msg = 'Welcome to JS';
msg.padStart(20,'x');
msg.padEnd(20,'x');

// Convert a no into its string form by using: String()
// Another way is to add an '' to a number i.e When one operand of a   sign is string, all operands are converted into string form.

// Usage: Masking certain numbers of important documents
const maskedId = function(id){
  const str = id   '';
  const lastFour = str.slice(-4);
  return lastFour.padStart(str.length, '*');
}
maskedId(92837483297492);
maskedId('r438t7h4irgrgTAFE');


// repeat(NoOfTimeToBeRepeated) : Repeat the same text multiple times
const msgText = 'Raining.\n';
msgText.repeat(5 );

const TrainsWaiting = function(x){
  console.log(`There are ${x} trains waiting on the station ${'?'.repeat(x)} \n`);
}

TrainsWaiting(4);
TrainsWaiting(16);
TrainsWaiting(8);

// Extract string from a long text received from an API based on some separator found in text.
const data = 'Departure';

版本聲明 本文轉載於:https://dev.to/mahf001/js-all-about-string-primitive-50bp?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>
  • Python環境變量的訪問與管理方法
    Python環境變量的訪問與管理方法
    Accessing Environment Variables in PythonTo access environment variables in Python, utilize the os.environ object, which represents a mapping of envir...
    程式設計 發佈於2025-07-03
  • 您如何在Laravel Blade模板中定義變量?
    您如何在Laravel Blade模板中定義變量?
    在Laravel Blade模板中使用Elegance 在blade模板中如何分配變量對於存儲以後使用的數據至關重要。在使用“ {{}}”分配變量的同時,它可能並不總是最優雅的解決方案。 幸運的是,Blade通過@php Directive提供了更優雅的方法: $ old_section =...
    程式設計 發佈於2025-07-03
  • 解決Spring Security 4.1及以上版本CORS問題指南
    解決Spring Security 4.1及以上版本CORS問題指南
    彈簧安全性cors filter:故障排除常見問題 在將Spring Security集成到現有項目中時,您可能會遇到與CORS相關的錯誤,如果像“訪問Control-allo-allow-Origin”之類的標頭,則無法設置在響應中。為了解決此問題,您可以實現自定義過濾器,例如代碼段中的MyFi...
    程式設計 發佈於2025-07-03
  • Java中Lambda表達式為何需要“final”或“有效final”變量?
    Java中Lambda表達式為何需要“final”或“有效final”變量?
    Lambda Expressions Require "Final" or "Effectively Final" VariablesThe error message "Variable used in lambda expression shou...
    程式設計 發佈於2025-07-03
  • 如何在無序集合中為元組實現通用哈希功能?
    如何在無序集合中為元組實現通用哈希功能?
    在未訂購的集合中的元素要糾正此問題,一種方法是手動為特定元組類型定義哈希函數,例如: template template template 。 struct std :: hash { size_t operator()(std :: tuple const&tuple)const {...
    程式設計 發佈於2025-07-03
  • 在Ubuntu/linux上安裝mysql-python時,如何修復\“ mysql_config \”錯誤?
    在Ubuntu/linux上安裝mysql-python時,如何修復\“ mysql_config \”錯誤?
    mysql-python安裝錯誤:“ mysql_config找不到”“ 由於缺少MySQL開發庫而出現此錯誤。解決此問題,建議在Ubuntu上使用該分發的存儲庫。使用以下命令安裝Python-MysqldB: sudo apt-get安裝python-mysqldb sudo pip in...
    程式設計 發佈於2025-07-03
  • Spark DataFrame添加常量列的妙招
    Spark DataFrame添加常量列的妙招
    在Spark Dataframe ,將常數列添加到Spark DataFrame,該列具有適用於所有行的任意值的Spark DataFrame,可以通過多種方式實現。使用文字值(SPARK 1.3)在嘗試提供直接值時,用於此問題時,旨在為此目的的column方法可能會導致錯誤。 df.withCo...
    程式設計 發佈於2025-07-03
  • 在Python中如何創建動態變量?
    在Python中如何創建動態變量?
    在Python 中,動態創建變量的功能可以是一種強大的工具,尤其是在使用複雜的數據結構或算法時,Dynamic Variable Creation的動態變量創建。 Python提供了幾種創造性的方法來實現這一目標。 利用dictionaries 一種有效的方法是利用字典。字典允許您動態創建密鑰並...
    程式設計 發佈於2025-07-03
  • 同實例無需轉儲複製MySQL數據庫方法
    同實例無需轉儲複製MySQL數據庫方法
    在同一實例上複製一個MySQL數據庫而無需轉儲在同一mySQL實例上複製數據庫,而無需創建InterMediate sqql script。以下方法為傳統的轉儲和IMPORT過程提供了更簡單的替代方法。 直接管道數據 MySQL手動概述了一種允許將mysqldump直接輸出到MySQL cli...
    程式設計 發佈於2025-07-03
  • 如何在Java中正確顯示“ DD/MM/YYYY HH:MM:SS.SS”格式的當前日期和時間?
    如何在Java中正確顯示“ DD/MM/YYYY HH:MM:SS.SS”格式的當前日期和時間?
    如何在“ dd/mm/yyyy hh:mm:mm:ss.ss”格式“ gormat 解決方案: args)拋出異常{ 日曆cal = calendar.getInstance(); SimpleDateFormat SDF =新的SimpleDateFormat(“...
    程式設計 發佈於2025-07-03
  • 為什麼PYTZ最初顯示出意外的時區偏移?
    為什麼PYTZ最初顯示出意外的時區偏移?
    與pytz 最初從pytz獲得特定的偏移。例如,亞洲/hong_kong最初顯示一個七個小時37分鐘的偏移: 差異源利用本地化將時區分配給日期,使用了適當的時區名稱和偏移量。但是,直接使用DateTime構造器分配時區不允許進行正確的調整。 example pytz.timezone(&#...
    程式設計 發佈於2025-07-03
  • 您可以使用CSS在Chrome和Firefox中染色控制台輸出嗎?
    您可以使用CSS在Chrome和Firefox中染色控制台輸出嗎?
    在javascript console 中顯示顏色是可以使用chrome的控制台顯示彩色文本,例如紅色的redors,for for for for錯誤消息? 回答是的,可以使用CSS將顏色添加到Chrome和Firefox中的控制台顯示的消息(版本31或更高版本)中。要實現這一目標,請使用以下...
    程式設計 發佈於2025-07-03
  • JavaScript計算兩個日期之間天數的方法
    JavaScript計算兩個日期之間天數的方法
    How to Calculate the Difference Between Dates in JavascriptAs you attempt to determine the difference between two dates in Javascript, consider this s...
    程式設計 發佈於2025-07-03
  • Java字符串非空且非null的有效檢查方法
    Java字符串非空且非null的有效檢查方法
    檢查字符串是否不是null而不是空的 if(str!= null && str.isementy())二手: if(str!= null && str.length()== 0) option 3:trim()。 isement(Isement() trim whitespace whites...
    程式設計 發佈於2025-07-03
  • 如何檢查對像是否具有Python中的特定屬性?
    如何檢查對像是否具有Python中的特定屬性?
    方法來確定對象屬性存在尋求一種方法來驗證對像中特定屬性的存在。考慮以下示例,其中嘗試訪問不確定屬性會引起錯誤: >>> a = someClass() >>> A.property Trackback(最近的最新電話): 文件“ ”,第1行, AttributeError: SomeClass...
    程式設計 發佈於2025-07-03

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3