Javascript 比较数组项时出现问题
我无法理解为什么数组项之间的比较总是返回true。如何检查同一数组中的不同项是否不相等 我试过Javascript 比较数组项时出现问题,javascript,Javascript,我无法理解为什么数组项之间的比较总是返回true。如何检查同一数组中的不同项是否不相等 我试过=,==,和!colCheck[i].equals(colCheck[x])但它不起作用 function mergeCells() { var ss = SpreadsheetApp.getActive(); var sheet = ss.getActiveSheet(); var rowsToMerge = []; var colCheck = sheet.getRange(8,10
=代码>,==代码>,和!colCheck[i].equals(colCheck[x])
但它不起作用
function mergeCells() {
var ss = SpreadsheetApp.getActive();
var sheet = ss.getActiveSheet();
var rowsToMerge = [];
var colCheck = sheet.getRange(8,10,79,1).getValues();
for (var i = 0; i < 79; i++) {
var x = i + 1;
if (colCheck[i] != colCheck[x]) rowsToMerge.push(i);// Always returns true
if (colCheck[i] == '') {
break;
}
}
}
函数mergeCells(){
var ss=SpreadsheetApp.getActive();
var sheet=ss.getActiveSheet();
var rowsToMerge=[];
var colCheck=sheet.getRange(8,10,79,1).getValues();
对于(变量i=0;i<79;i++){
var x=i+1;
if(colCheck[i]!=colCheck[x])rowsToMerge.push(i);//始终返回true
if(colCheck[i]=''){
打破
}
}
}
我检查了数组项,即使它们完全相同,比较也返回true。colCheck的元素是对象,因此与==
,比较=代码>、==
或===代码>只是比较可能不是您想要的引用,请尝试比较对象属性。您能提供一个最小的可复制示例吗?尝试使用==代码>和===
istead of=
和==
,也避免使用像79这样的神奇数字,您可以使用forEach
而不是来查看更多信息,请访问colCheck
?哪种类型的对象?