在Javascript数组的前半部分查找元素

时间:2015-11-04 01:58:47

标签: javascript arrays indexof

我不太了解这项练习。

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) {

}

我没有得到它,是什么意思是阵列的前半部分?

2 个答案:

答案 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;
}