UNPKG

wsemi

Version:

A support package for web developer.

60 lines (49 loc) 1.35 kB
import map from 'lodash-es/map.js' import pullAt from 'lodash-es/pullAt.js' import cloneDeep from 'lodash-es/cloneDeep.js' import isearr from './isearr.mjs' import isp0int from './isp0int.mjs' import cint from './cint.mjs' /** * 針對陣列移除指定位置或陣列的指定位置 * * Unit Test: {@link https://github.com/yuda-lyu/wsemi/blob/master/test/arrPullAt.test.mjs Github} * @memberOf wsemi * @param {Array} vsrc 輸入原始陣列 * @param {Array|Integer} vpull 輸入要被移除的指定位置或陣列的指定位置 * @returns {Array} 回傳移除後陣列 * @example * * console.log(arrPullAt([1, 2, 3, 4, 5, 'abc'], [0, 2])) * // => [ 2, 4, 5, 'abc' ] * * console.log(arrPullAt([1, 2, 3, '4', 5, 'abc'], [1, 3])) * // => [ 1, 3, 5, 'abc' ] * * console.log(arrPullAt([1, 2, 3, '4', 5, 'abc'], [4, 7])) * // => [ 1, 2, 3, '4', 'abc' ] * */ function arrPullAt(vall, vpull) { //check if (!isearr(vall)) { return [] } //vall if (isp0int(vpull)) { vpull = [vpull] } if (!isearr(vpull)) { return vall } //cdbl vpull = map(vpull, (v) => { return cint(v) }) //cloneDeep let rs = cloneDeep(vall) //pullAt pullAt(rs, vpull) return rs } export default arrPullAt