From 1ceaf8d7c0e6114caa8e7497128a0f0b0563f365 Mon Sep 17 00:00:00 2001 From: Muhammad Faizan Uddin Date: Mon, 5 Apr 2021 16:35:13 +0400 Subject: [PATCH] added handling for empty input array --- index.js | 15 +++++++++++---- test.js | 7 +++++++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/index.js b/index.js index fda337d..fee0a0f 100644 --- a/index.js +++ b/index.js @@ -1,6 +1,13 @@ module.exports = function (ary, item) { - var i = -1, indexes = [] - while((i = ary.indexOf(item, i + 1)) !== -1) - indexes.push(i) - return indexes + if (ary.length === 0) { + return []; + } + + var i = -1, indexes = []; + + while ((i = ary.indexOf(item, i + 1)) !== -1) { + indexes.push(i); + } + + return indexes; } diff --git a/test.js b/test.js index 340e135..05e28c5 100644 --- a/test.js +++ b/test.js @@ -23,6 +23,13 @@ tape('indexes of - empty', function (t) { }) +tape('indexes of - empty array', function (t) { + var x = indexes([], 24) + t.deepEqual(x, []) + t.end() +}) + + tape('indexes of - all matches', function (t) { var x = indexes([8,8,8,8,8,8,8], 8) t.deepEqual(x, [0,1,2,3,4,5,6])