我不太了解这项练习。
arr = [1, 2, 3];
arr.indexOf(2); // 1
arr.indexOf(4); // -1 since it doesn't exist.
// Write a function to determine if an element
// is in the first half of an array.
// If an element has an odd length, round up
// when counting the first half of an array.
// For example, 1 and 2 are in the first half
// arr.
function inFirstHalf(inputArray, element) {
}
我没有得到它,是什么意思是阵列的前半部分?
答案 0 :(得分:2)
在通过将原始数组切成两部分而创建的新数组中查找值:
arr.slice(0, Math.ceil(arr.length/2)) . indexOf(val)
答案 1 :(得分:-1)
您应该使用arr
属性检索数组length
的长度。现在你必须检查元素index
是否小于length
并在长度为奇数时向上舍入。
function inFirstHalf(inputArray, element) {
if ((inputArray.length % 2) === 0) {
if ((inputArray.indexOf(element) + 1) <= (inputArray.length / 2)) {
return true;
}
} else {
if ((inputArray.indexOf(element) + 1) <= Math.ceil ((inputArray.length / 2))) {
return true;
}
}
return false;
}