exports = typeof window === "undefined" ? global : window;

exports.arraysAnswers = {
  // [1,2,3,4,2,5,2] ->
  //
  // findAllOccurences : [1,4,6] //res
  // lastIndex : res[res.length -1];
  // firstIndex : res[0]

  indexOf: function(arr, item) {
    let itemIndex = -1; // default value // item is not present.
    for (let index in arr) {
      if (arr[index] === item && itemIndex === -1) {
        itemIndex = index;
      }
    }
    return +itemIndex;
  },

  sum: function(arr) {
    let sum = 0;
    for (let index in arr) {
      sum = sum + arr[index];
    }
    return sum;
  },

  remove: function(arr, item) {
    let newarr = [];
    for (let index in arr) {
      if (arr[index] !== item) {
        newarr.push(arr[index]);
      }
    }
    return newarr;
  },

  removeWithoutCopy: function(arr, item) {
    for (let index in arr) {
      if (arr[index] !== item) {
        arr = [arr.length - 1];
      }
    }
    return arr;
  },

  append: function(arr, item) {
    //0,1,2,3,4,..,n-2,n-1;
    arr.length = arr.length + 1;
    arr[arr.length - 1] = item;
    return arr;
  },

  truncate: function(arr) {
    arr.length = arr.length - 1;
    return arr;
  },

  prepend: function(arr, item) {
    let newarr = [item];
    for (let index in arr) {
      newarr[+index + 1] = arr[index];
    }
    return newarr;
  },

  curtail: function(arr) {},

  concat: function(arr1, arr2) {
    for (let index in arr2) {
      if (arr2.length >= 0) {
        arr1.push(arr2[index]);
      }
    }
    return arr1;
  },

  insert: function(arr, item, index) {
    let newarr = [];
    for (let index in arr) {
    }
  },

  count: function(arr, item) {
    let count = 0;
    for (let index in arr) {
      if (arr[index] === item) {
        count = count + 1;
      }
    }
    return count;
  },

  duplicates: function(arr) {
    for (let index in arr) {
      if (arr[index] !== dulipcate) {
        arr = arr[index];
      } else {
        null;
      }
    }
    return arr;
  },

  square: function(arr) {
    let newarr = [];
    for (let index in arr) {
      newarr.push(arr[index] * arr[index]);
    }
    return newarr;
  },

  findAllOccurrences: function(arr, target) {
    let newarr = [];
    for (let index in arr) {
      if (arr[index] === target) {
        newarr.push(index);
      }
    }
    return newarr;
  }
};
