【发布时间】:2018-12-24 11:58:54
【问题描述】:
我正在运行以下代码,但收到错误“预期表达式”。在 for 循环上。
let nums1 = [1,2,3,4,5].map(String);
let nums2 = [1,2,3,4,5].map(String);
let compare = (a1, a2) => {
(a1.length != a2.length) ? result = false : for(num in a1) {
if(a1[num] != a2[num]) {
result = false;
break;
}
}
return result;
}
compare(nums1, nums2);
我已经运行了以下代码(一个更冗长的非 ES6 等效代码),它确实有效。
let nums1 = [1,2,3,4,5].map(String);
let nums2 = [1,2,3,4,5].map(String);
function temp(arr1, arr2) {
let result = true;
if(arr1.length != arr2.length) {
result = false;
} else {
for(let i = 0; i < arr1.length; i++) {
if(arr1[i] != arr2[i]) {
result = false;
break;
}
}
}
return result;
}
我的目的是比较两个数据数组。我最终会让用户在网页上的文本框中输入一些数据,这段代码将数据抓取到两个数组中,然后比较它们,提醒用户这两组数据是否不同或不是。
【问题讨论】:
-
在条件运算符内部,不允许任何语句,因为它不是表达式(也许?尚未)。
标签: javascript arrays for-loop ternary-operator