大家好,我是caml的初學者,我試圖回答下面的問題,但我不知道從哪里開始:有人可以幫我解決這個問題嗎?
撰寫一個函式 :a list -> a list -> bool 來檢查兩個串列是否等價于置換。例如 [2; 3; 4; 3] 等價于 [3; 3; 4; 2] 但不等價于 [2; 4; 3]。那么我們如何檢查兩個串列是否相等,直到在 caml 中進行排列?
uj5u.com熱心網友回復:
對不起,我不太了解 javascript 或 caml。這是我的版本。Java 已經足夠高級了,我相信你會明白的。
這是我的做法:
boolean equals(Type A1[], Type A2[])
{
int len1 = A1.length; // length of the first array
int len2 = A2.length; // length of the second array
// if the length are not equal
if(len1 != len2){
return false;
}
/*sort algorithm of your choice */
sort(A1); // sort first array
sort(A2);
for(int i = 0; i < len1; i ){
if(A1[i] != A2[i]) // if there is at least one non equal element
return false;
}
// everything is ok
return true;
}
uj5u.com熱心網友回復:
您有多個選項來比較陣列。一種簡單的方法是制作一個字串。
let arr1 = [2, 3, 4, 3].sort()
let arr2 = [3, 3, 4, 2].sort()
let arr3 = [2, 4, 3].sort()
if(JSON.stringify(arr1) === JSON.stringify(arr2)) {
console.log('arr1 = arr2');
}
if(JSON.stringify(arr1) !== JSON.stringify(arr3)) {
console.log('arr1 != arr3');
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/354505.html
標籤:javascript
上一篇:使用Javascript或jQuery從文本框輸入創建陣列,并可以在單擊時洗掉陣列元素
下一篇:在反應中將下拉框重置為原始值
