亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何轉換數組中的字符串?

如何轉換數組中的字符串?

翻閱古今 2023-05-18 09:45:58
從 http 響應中,我收到了一個這樣的對象:{"[3, company1]":["role_user"], "[4, company2]":["role_admin"] }鍵是一個數組...打字稿中有沒有辦法轉換鍵"[3, company1]"在這樣的數組中 [3, "company1"]?
查看完整描述

4 回答

?
慕碼人2483693

TA貢獻1860條經驗 獲得超9個贊

您可以將 Object.keys 與 map 結合起來,并使用 split 將字符串轉換為數組


let data = {"[3, company1]":["role_user"], "[4, company2]":["role_admin"] }


let keys = Object.keys(data)

  .map(

    el => 

        el.replace('[', '')

        .replace(']', '')

        .split(',')

        .map(el => el.trim())

        .map(el => isNaN(parseFloat(el))

            ? el

            : parseFloat(el))

    )


console.log("Keys: ", keys)

這是小提琴: https: //jsfiddle.net/to38g6cb/1/


查看完整回答
反對 回復 2023-05-18
?
MYYA

TA貢獻1868條經驗 獲得超4個贊

您想將密鑰轉換成什么?

如果想將其轉換為普通數組,則應執行以下操作。

const httpResponse = {

  "[3, company1]": ["role_user"],

  "[4, company2]": ["role_admin"]

};


const convertedKeys = Object.keys(httpResponse).map(value => {

  let keyArray = value.replace("[", "").replace("]", "").split(", ");

  return [parseInt(keyArray[0]), keyArray[1]];

});


console.log(convertedKeys);

如果以上不是您想要的,請再次改寫您的問題。



查看完整回答
反對 回復 2023-05-18
?
翻翻過去那場雪

TA貢獻2065條經驗 獲得超14個贊

您可以使用字符串刪除第一個和最后一個slice(1,-1)字符split(/\s*,\s*/逗號,兩邊可選空格)。


然后將第一部分轉換為數字并返回數組


const input = {

  "[3, company1]": ["role_user"],

  "[4, company2]": ["role_admin"]

}


const output = Object.keys(input).map(k => {

  const [n, comp] = k.slice(1,-1).split(/\s*,\s*/)

  return [+n, comp]

})


console.log(JSON.stringify(output))


查看完整回答
反對 回復 2023-05-18
?
慕雪6442864

TA貢獻1812條經驗 獲得超5個贊

如果該部分已經被引用會更容易company1,這樣您就可以使用JSON.parse. 事實上,讓我們這樣做吧!company1在帶有搜索和替換的部分周圍加上引號。


let key = `[3, company1]`;

let obj = JSON.parse(key.replace(/[$A-Z_]\w*/gi, '"$&"'))

console.log(obj);


注意:我在猜測哪些字符可能是有效的,并帶有一些看起來有點像 JavaScript 標識符的字符。 [$A-Z_]\w*由于反序列化歧義,顯然不是逗號和右方括號。


查看完整回答
反對 回復 2023-05-18
  • 4 回答
  • 0 關注
  • 177 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號