JavaScript中將帶分隔符的字串轉換為物件陣列


在本文中,我們將討論使用JavaScript功能將帶分隔符的字串轉換為物件陣列的演算法和複雜度。為此,我們將使用JavaScript的split和map函式。

理解問題陳述

問題陳述要求編寫一個函式,該函式可以使用給定的分隔符將給定的字串轉換為JavaScript中的物件陣列。例如,如果我們有一個字串“name1, name2, name3”和一個分隔符“,” ,那麼我們必須將這些字串轉換為如下所示的物件陣列:

[{value: "name1"}, {value: "name2"}, {value: "name3"}]

生成的陣列將為給定輸入字串中的每個值包含一個物件,其中每個物件都具有名為“value”的單個屬性,其值為來自給定輸入字串的相應值。

給定問題的邏輯

在程式碼中,我們將包含一個split方法,以使用分隔符將給定字串分割成值陣列。之後,我們將使用map方法為結果陣列中的每個值建立一個新物件,並將“value”屬性設定為相應的值。結果將是一個物件陣列。

演算法

步驟1:定義一個函式,將帶分隔符的字串轉換為物件陣列。第一個引數是字串,第二個引數是分隔符。

步驟2:使用一個變數來儲存使用split方法分割後的值字串。

步驟3:現在,使用map方法為結果陣列中的每個值建立一個新物件。

步驟4:返回具有鍵值對的結果物件陣列。

示例

//function to convert a string into a object array
function convertStringToObjectArray(str, separator) {
  const splitStr = str.split(separator);
  const objArray = splitStr.map((val) => {
   return { value: val };
  });
  return objArray;
}
const inputString = "Jiya,Deepak,Anmol,Smita";
const separator = ",";
const objectArray = convertStringToObjectArray(inputString, separator);

console.log(objectArray);

輸出

[
  { value: 'Jiya' },
  { value: 'Deepak' },
  { value: 'Anmol' },
  { value: 'Smita' }
]

複雜度

該解決方案的時間複雜度為O(n),其中n是給定輸入字串的長度。因為我們使用了執行將字串分割然後迭代結果陣列以建立物件陣列的任務的函式。

結論

因此,總的來說,我們可以說這是獲取轉換後資料的好方法。在這個問題陳述中,我們要求解決一個常見任務,即在JavaScript中將帶分隔符的字串轉換為結構化資料格式。

更新於:2023年8月14日

284 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.