IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> javascript中数组方法map、some、every、filter的封装。 -> 正文阅读

[JavaScript知识库]javascript中数组方法map、some、every、filter的封装。

开篇

  • 在Javascript中,我们要对数组操作,可以用到很多已经封装好的函数进行使用比如: map、filter、some、every。
  1. Map

当我们要修改数组中一些数据的时候,可以使用map方法来修改。


方法介绍:该方法可以改变原来数组里面的内容。


问题:将 [‘🍓’,‘🍋’,‘🍒’,‘🍑’,‘🍊’,‘🍉’] 添加价格。
答案:[‘2¥🍓’,‘3¥🍋’,‘4¥🍒’,‘5¥🍑’,‘6¥🍊’,‘7¥🍉’];


var fruits = ['🍓','🍋','🍒','🍑','🍊','🍉'];
// --------------------------------------------------
var newFruits = fruits.map(function (item,index) {  
	return `${index + 2}` + item
})
// --------------------------------------------------
console.log(newFruits)

Map

  1. filter

当我们要将一个数据里的东西筛选出来的时候,就可以用到filter。


方法介绍:该方法可以对数组里面的数据进行筛选,返回值为一个筛选完的新数组。


问题:将大于16岁的对象输出出来。


数据:
var play = [{
name: ‘小李’, age: 18, eat: ‘🍓’,
}, {
name: ‘张三’, age: 12, eat: ‘🍋’,
}, {
name: ‘奥里给’, age: 99, eat: ‘💨’,
}, {
name: ‘小张’, age: 16, eat: ‘🍉’
}, {
name: ‘小米’, age: 16, eat: ‘🍒’
}];

var play = [{
   name: '小李', age: 18, eat: '🍓',
}, {
    name: '张三', age: 12, eat: '🍋',
}, {
    name: '奥里给', age: 99, eat: '💨',
}, {
    name: '小张', age: 16, eat: '🍉'
}, {
    name: '小米', age: 16, eat: '🍒'
}]; 

var newArr = play.filter(function (item) {
	return item.age > 18;
})

console.log(newArr);

在这里插入图片描述


3.some

当我们需要快速查询一个商品的时候,我们就可以使用some方法。


方法介绍:该方法返回值如果为 true 则停止执行,返回 true。


问题:判断数据里面是否有短裤🩳


数据:
var shop = [{ id: 1, name: ‘比基尼’, goods: ‘👙’ }, { id: 2, name: ‘长裤’, goods: ‘🧦’ }, { id: 3, name: ‘短裤’, goods: ‘🩳’ }, { id: 4, name: ‘裙子’, goods: ‘👗’ }, { id: 5, name: ‘帽子’, goods: ‘👒’ }];

var shop = [{ id: 1, name: '比基尼', goods: '👙' }, { id: 2, name: '长裤', goods: '🧦' }, { id: 3, name: '短裤', goods: '🩳' }, { id: 4, name: '裙子', goods: '👗' }, { id: 5, name: '帽子', goods: '👒' }];

var result = shop.some(function (item,index) {
	console.log(item);
    return item.name == '短裤';
});

console.log(result); // true

在这里插入图片描述
4. every

当我们要查找同学们的试卷中是否有不及格的同学的时候可以使用 every。


方法介绍:该方法返回值如果为 false 则停止执行,返回 false,如果为 true一直进行下去。


问题:查找数据源中是否有不及格的同学🧑🏼。


数据:
var test = [{ name: ‘小张’, grade: 100 }, { name: ‘小米’, grade: 99 }, { name: ‘小雷’, grade: 1 }, { name: ‘小烽’, grade: 20 }, { name: ‘小广’, grade: 0 }];

var test = [{ name: '小张', grade: 100 }, { name: '小米', grade: 99 }, { name: '小雷', grade: 1 }, { name: '小烽', grade: 20 }, { name: '小广', grade: 0 }];

var resulte = test.every(function (item) {
    console.log(item);
    return item.grade > 60;
})

console.log(resulte); // false

在这里插入图片描述

一:map🍫的封装

var arr = [1, 2, 35, 6, 7];
[].__proto__.forMap = function (callBack) {
    var newArr = [];
    for (var i = 0; i < this.length; i++) {

        newArr[i] = callBack(this[i], i, this);
    }

    return newArr;
}

var b = arr.forMap(function (item, index, arr) {
    return 'ID:' + item + '🌙';
})

console.log(b); // ["ID:1🌙", "ID:2🌙", "ID:35🌙", "ID:6🌙", "ID:7🌙"]

二:filter🍬的封装

var arr = [1, 2, 35, 6, 7];
[].__proto__.forFilter = function (callBack) {
    var newArr = [];
    var flag = null;
    for (var i = 0; i < this.length; i++) {
        flag = callBack(this[i], i, this);
        if (flag) {
            newArr.push(this[i]);
        }
    }
    return newArr;

}

var b = arr.forFilter(function (item, index, arr) {
    return item > 1;
})

console.log(b); // [2, 35, 6, 7]

三:some🍭的封装

[].__proto__.forSome = function (callBack) {
    var flag = null;
    for (var i = 0; i < this.length; i++) {
        flag = callBack(this[i], i, this);
        if (flag) {
            return true;
        }
    }
    return false;
}

var b = arr.forSome(function (item, index, arr) {
    console.log(item);
    return item > 1;
})

console.log(b); // true

四:every🍡的封装

[].__proto__.forEvent = function (callBack) {
    var flag = null;
    for (var i = 0; i < this.length; i++) {
        flag = callBack(this[i], i, this);
        if (!flag) {
            return false;
        }
    }

    return true;

}

var b = arr.forEvent(function (item, index, arr) {
    console.log(item);
    return item >= 1;
})

console.log(b); // false

制作不易!点个赞,收个藏,评个论呗~~🍜🍜
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-07-10 14:27:32  更:2021-07-10 14:28:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/8 17:15:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码