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