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

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

如果字符串匹配,則僅從字符串數組中獲取數字

如果字符串匹配,則僅從字符串數組中獲取數字

牛魔王的故事 2023-03-24 15:17:08
我有一個數組。["mango-1", "mango-3", "cilantro-3"]我需要一個新數組,它只從每個芒果項目中獲取數字。所以["1", "3"]我已經嘗試了很多我無法跟蹤的事情。有什么幫助嗎?
查看完整描述

2 回答

?
慕碼人2483693

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

是的,您好,您可以使用正則表達式替換。由于您的標簽是 jQuery,因此可以使用jQuerymap完成:


var myArray = ['mango-1', 'mango-3', 'cilantro-3'];


var mangos = $.map(myArray, function(val) {

    match = val.match(/^mango-([0-9]+)$/);

    return match && match[1];

});


console.log(mangos);

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

結果是:


["1", "3"]

或者純javascriptArray.map


查看完整回答
反對 回復 2023-03-24
?
拉丁的傳說

TA貢獻1789條經驗 獲得超8個贊

用于filter()僅獲取以 開頭的元素mango-,它們映射replace()以刪除mango-前綴。


let array =  ["mango-1", "mango-3", "cilantro-3"];

let result = array.filter(s => s.startsWith("mango-")).map(s => s.replace("mango-", ""));

console.log(result);


或用于reduce()在單個回調函數中同時進行測試和替換。


let array = ["mango-1", "mango-3", "cilantro-3"];

let result = array.reduce((a, s) => {

  if (s.startsWith("mango-")) {

    a.push(s.replace("mango-", ""));

  }

  return a;

}, []);

console.log(result);


查看完整回答
反對 回復 2023-03-24
  • 2 回答
  • 0 關注
  • 151 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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