使用javascript比较数组中元素的最佳方法是什么



如何使用Javascript比较数组中的元素?

我想知道cas[1]cas[2]cas[3]是否具有相同的值。

cas = ["0","1", "2","3","4","5","6","7","8","9"];
if(cas[1]== cas[2] && cas[2]==cas[3]){
console.log("yea");
}


首先最好使用===,因为0 == falsetrue,但0 === falsefalse

===无定型铸造。

这里不需要全循环,只需要比较前三个元素,所以这里可以使用if语句。

如果你想对每3个元素都这样做,你可以这样做。

const getThreeArrayElements = (array, startIndex) => array.slice(startIndex, startIndex + 3);
getThreeArrayElements([1, 2, 3, 3, 3, 3], 0); // [1, 2, 3]
getThreeArrayElements([1, 2, 3, 3, 3, 3], 3); // [3, 3, 3]

因此,您可以很容易地获得一个包含3个必需元素的数组。

另一项任务是如何比较它们。

const areArrayElementsEqual = array => array.every(item => item === array[0]);
areArrayElementsEqual([1, 2, 3]); // false
areArrayElementsEqual([3, 3, 3]); // true

如果您正在寻找一种检查整个阵列的算法:

let cas = ["0","1", "2","3","4","5","6","7","8","9"];
let checkCas  = (cur = 1)=>{return cas[cur-1]===cas[cur]?true:cur<cas.length?checkCas(++cur):false;};
console.log(checkCas());
cas = ["0","1", "2","3","4","5","5","7","8","9"];
console.log(checkCas());

至于ticktacktoe:

let casa = ["0","1", "2","3","4","5","6","7","8","9"];
let allEqual  = (cas,cur = 1)=>{return cas[cur-1]===cas[cur]?true:cur<cas.length?allEqual(cas,++cur):false;};
for(let i = 0;i<Math.floor(casa.length/3);i++)
{
let tempLengArr = [casa[i],casa[i+3],casa[i+6]];
if(allEqual(casa.slice(i*3,(i*3)+3))||allEqual(tempLengArr)) 
console.log("won");

}
if(allEqual([casa[0],casa[4],casa[9]])||
allEqual([casa[3],casa[4],casa[2]])) console.log("won");

我的allEqual通话可能有点混乱,但这是的主意

相关内容

  • 没有找到相关文章

最新更新