|
@@ -0,0 +1,106 @@
|
|
|
+
|
|
|
+ * 1、map函数
|
|
|
+ * @param {Array} arr
|
|
|
+ * @param {Function} callback
|
|
|
+ * @returns
|
|
|
+ */
|
|
|
+function map(arr,callback){
|
|
|
+ let result = []
|
|
|
+ for(let i = 0;i < arr.length;i++){
|
|
|
+ result.push(callback(arr[i],i))
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
+ * 2、reduce函数
|
|
|
+ * @param {Array} arr
|
|
|
+ * @param {Function} callback
|
|
|
+ * @param {*} initValue
|
|
|
+ * @returns
|
|
|
+ */
|
|
|
+function reduce(arr,callback,initValue){
|
|
|
+ let result = initValue
|
|
|
+ for(let i = 0;i < arr.length;i++){
|
|
|
+ result = callback(result,arr[i])
|
|
|
+ }
|
|
|
+ return result
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+ * 3、filter函数
|
|
|
+ * @param {Array} arr
|
|
|
+ * @param {Function} callback
|
|
|
+ * @returns
|
|
|
+ */
|
|
|
+function filter(arr,callback){
|
|
|
+ let result = []
|
|
|
+ for(let i = 0;i < arr.length;i++){
|
|
|
+ if(callback(arr[i],i)){
|
|
|
+ result.push(arr[i])
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return result
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+ * 4、find函数
|
|
|
+ * 找到数组中第一个满足条件的值
|
|
|
+ * @param {*} arr
|
|
|
+ * @param {*} callback
|
|
|
+ * @returns
|
|
|
+ */
|
|
|
+function find(arr,callback){
|
|
|
+ for(let i = 0;i < arr.length;i++){
|
|
|
+ if(callback(arr[i],i)){
|
|
|
+ return arr[i]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return undefined
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+ * 5、findIndex函数
|
|
|
+ * 找到数组中第一个满足条件的下标
|
|
|
+ * @param {*} arr
|
|
|
+ * @param {*} callback
|
|
|
+ * @returns
|
|
|
+ */
|
|
|
+function findIndex(arr,callback){
|
|
|
+ for(let i = 0;i < arr.length;i++){
|
|
|
+ if(callback(arr[i],i)){
|
|
|
+ return i
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return -1
|
|
|
+}
|
|
|
+
|
|
|
+ * 6、every函数
|
|
|
+ * 必须所有都满足
|
|
|
+ * @param {*} arr
|
|
|
+ * @param {*} callback
|
|
|
+ * @returns bool
|
|
|
+ */
|
|
|
+function every(arr,callback){
|
|
|
+ for(let i = 0;i < arr.length;i++){
|
|
|
+ if(!callback(arr[i],i)){
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return true
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+ * 7、some函数
|
|
|
+ * 只要有一个满足
|
|
|
+ * @param {*} arr
|
|
|
+ * @param {*} callback
|
|
|
+ * @returns bool
|
|
|
+ */
|
|
|
+function some(arr,callback){
|
|
|
+ for(let i = 0;i < arr.length;i++){
|
|
|
+ if(callback(arr[i],i)){
|
|
|
+ return true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return false
|
|
|
+}
|