第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

檢查對象值的任何部分是否包含在字符串中

檢查對象值的任何部分是否包含在字符串中

慕姐8265434 2022-12-02 16:07:35
我有一個看起來像這樣的字符串: /link-to-page?foo=bar&test=1另外我有一個看起來像這樣的對象:{  key: '/',  foo: 'bar',  test: false,  mock: 'data'}我想實現(xiàn)的事情很簡單(我認為),但也許我在這里錯過了顯而易見的事情:我想檢查我的對象的任何值是否包含在我的字符串中。我的第一個想法是這樣做: Object.keys(obj).map(o => str.includes(obj[o]))-但這顯然只會返回一組布爾值。試試這個:Object.keys(obj).map(o => obj[o]).some(s => str.includes(s))也不會工作,因為它可能會提供誤報(在我的對象中我有key一個/不應(yīng)考慮的值,但它會返回true這里 - 我只想搜索“實際文本”如果說得通)。我應(yīng)該首先轉(zhuǎn)換對象鍵和字符串以擺脫任何/還是有其他方法?謝謝!
查看完整描述

5 回答

?
湖上湖

TA貢獻2003條經(jīng)驗 獲得超2個贊

您可以使用替換方法擺脫任何 /


let oldstr = '/link-to-page?foo=bar&test=1';

let str = oldstr.replace('/', '');

console.log(str)


let obj = {

  key: '/',

  foo: 'asd',

  test: false,

  mock: 'data'

}


let a = Object.values(obj).some(s => str.includes(s))

console.log(a);


查看完整回答
反對 回復(fù) 2022-12-02
?
一只名叫tom的貓

TA貢獻1906條經(jīng)驗 獲得超3個贊

您可以使用正則表達式來避免匹配字符


str="/link-to-page?foo=bar&test=1"


ob={

  key: '/',

  foo: '/',

  test: false,

  mock: '/'

}

path=/[a-zA-Z]/

res=Object.values(ob).some(o=>path.test(o)?str.includes(o):false)

console.log(res)


查看完整回答
反對 回復(fù) 2022-12-02
?
汪汪一只貓

TA貢獻1898條經(jīng)驗 獲得超8個贊

單線

let isinclude=(str,obj)=>(str=str.replace('/',''),Object.keys(obj).reduce((a,v)=>a || str.includes(v),false))



查看完整回答
反對 回復(fù) 2022-12-02
?
Smart貓小萌

TA貢獻1911條經(jīng)驗 獲得超7個贊

您可以存儲有用的屬性,然后循環(huán)遍歷它們以檢查對象內(nèi)部并防止過濾:


const data = '/link-to-page?foo=bar&test=1';


const relevantProperties = ['foo', 'test', 'mock'];

const obj = {

  key: '/',

  foo: 'bar',

  test: false,

  mock: 'data'

};


for (let i = 0; i < relevantProperties.length; ++i) {

  const property = relevantProperties[i];

  

  if (data.includes(obj[property])) {

    console.log(property);

    break;

  }

}


查看完整回答
反對 回復(fù) 2022-12-02
?
守著一只汪

TA貢獻1872條經(jīng)驗 獲得超4個贊

遍歷您的對象值并使用.match方法來檢查這些值是否包含在給定的字符串中。如果過濾后的數(shù)組的長度是,則>0意味著找到了匹配項


let obj = {

  key: '/',

  foo: 'bar',

  test: false,

  mock: 'data'

}


let str = '/link-to-page?foo=bar&test=1'


let matchedValues = Object.values(obj).filter(x=>str.match(x)) // will return an array of all matching values

// -> (2) ["/", "bar"]


if(matchedValues.length > 0){

  console.log("Matches found")

}else{

  console.log("Matches found")

}


查看完整回答
反對 回復(fù) 2022-12-02
  • 5 回答
  • 0 關(guān)注
  • 164 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號