![](/img/trans.png)
[英]I have two array. I want to compare both of them in a way that I can get the nearest value from the other array
[英]I have two array of string. I want to compare both the array by lowerCasing each values in the array an return true/false if it matches
我舉了兩個數組的例子。這樣做的最佳方法是什么?我們可以使用 some() 函數嗎?
let firstArray = ['WickedWeed'];
let secondArray = ["wickedweed'];
//Output
true;
如果只有一個元素,則:
firstArray[0].toLowerCase() == secondArray[0].toLowerCase()
如果有多個元素,則
firstArray.every((e,i)=>(secondArray[i].toLowerCase()==e.toLowerCase()))
如果不需要匹配索引,則:
firstArray.map(e=>e.toLowerCase()).every(e=>secondArray.map(e=>e.toLowerCase()).includes(e))
var firstArray=["abc","deF","zzz"]; var secondArray=["ABC","DEF","zZz"]; console.log(firstArray.map(e=>e.toLowerCase()).every(e=>secondArray.map(e=>e.toLowerCase()).includes(e)));
對於長數組,這在計算上可能非常低效,在這種情況下,最好分兩步完成:
var firstArray=["abc","deF","zzz"]; var secondArray=["ABC","DEF","zZz"]; var secondArrayl = secondArray.map(e=>e.toLowerCase()); console.log(firstArray.map(e=>e.toLowerCase()).every(e=>secondArrayl.includes(e)));
如果您不需要匹配每個元素:
var firstArray=["abc","deF","zzz"]; var secondArray=["ABC"]; var secondArrayl = secondArray.map(e=>e.toLowerCase()); console.log(firstArray.map(e=>e.toLowerCase()).some(e=>secondArrayl.includes(e)));
你可以使用 loadash docs for isequal
_.isEqual(array1, array2)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.