Fuck标准库系列:Object.prototype.filter

用thefuck库优雅地纠正你的命令行错误 thefuck是一个创新的命令行工具,它通过自动纠正错误命令来提高开发者的效率。它易于安装,使用简单,并且可以通过自定义规则来扩展。尽管在使用过程中可能会遇到一些问题,但通常都可以通过一些简单的步骤来解决。总的来说,thefuck是一个值得尝试的工具,它能够减少命令行中的错误和挫败感,让开发者能够更加专注于他们的工作。 阅读详情

[].filter是一个非常实用的MapReduce方法,用于过滤掉列表中不需要的元素,返回一个新列表,所以是纯函数。

Array.prototype.filter

filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。 

语法

var newArray = arr.filter(callback(element[, index[, array]])[, thisArg])

参数

callback:用来测试数组的每个元素的函数。返回 true 表示该元素通过测试,保留该元素,false 则不保留。它接受以下三个参数:

  element:数组中当前正在处理的元素。

  index可选:正在处理的元素在数组中的索引。

  array可选:调用了 filter 的数组本身。

thisArg可选:执行 callback 时,用于 this 的值。

返回值

一个新的、由通过测试的元素组成的数组,如果没有任何数组元素通过测试,则返回空数组。

但是列表和字典类型是可以互换的,因为字典中的键值对(key,value)就完美对应着列表中的index和element,json的这2种复合类型都来自高等代数中的张量。可遗憾的是js对象的原型链上并没有filter,可能是因为Array也属于对象而产生歧义了。

不过既然列表和字典的结构可以一一映射,我们就可以依据Array.prototype.filter来构造Object.prototype.filter,这里的Object应该是纯字典类型。

结果

Object.defineProperty(Object.prototype, 'filter', {
        enumerable: false,
        writable:true,
        value: function (check = ((v, k, o) => undefined), this4check = undefined) {
            const oldObj = this;
            const newObj = {};
            Object.entries(oldObj).forEach(([key, value]) => {
                if (check.bind(this4check)(value, key, oldObj))
                    newObj[key] = value;
            })
            return newObj;
        },
    });

无论是浏览器环境还是node环境下都好用。

实例

const 成绩单={姓名:'Jim',语言学:88,数学:59,其他:'B'}
成绩单.filter((v,k)=>['姓名','数学'].includes(k));
    >{姓名: "Jim", 数学: 59}

不过Google了一下,Object.prototype.filter并没有人呼吁为此立标准,看来需求也不是很大,只是个人觉得这样写比较方便而已。


 

【小游戏】

你能证明自己不是上帝吗?

假如你是上帝,一日想玩一场体验人生的游戏。你设置一个程序,让自己在未来某个时间点开始的主观视角变成一个刚出生的婴儿,为了真实体验,你将暂时清除自己是上帝的记忆,这意味着游戏一旦开始,你将无法意识到自己是上帝,所以即使游戏很无聊也无法主动停止游戏。直到人体意外死亡或者自然死亡后游戏才结束,恢复上帝意识。

那么问题来了,抛开上面的假设,你如何证明现在的每一天不是处于游戏人生状态呢?答案就是,无法证明!

jsfuck自动解码工具.html jsfuck自动解码工具 立即下载

相关推荐

Fuck this website

GO and fuck yourself

django学习——objects.filter()用法

条件选取querySet的时候,filter表示=,exclude表示!=。 querySet.distinct() 去重复 __exact 精确等于 like ‘aaa’ __iexact 精确等于 忽略大小写 ilike ‘aaa’ __contains 包含 like ‘%aaa%’ __icontains 包含 忽略大小写 ilike ‘%aaa%’,但是对于sqlite来说,contains的作用效果等同于icontains。 __gt 大于 __gte 大于等于 __lt 小于 __lte 小

O8088的博客 5471

C#极域电子教室 分分钟干掉老师 FuckTeacher

C#极域电子教室 分分钟干掉老师 文件名:FuckTeacher.rar

Finally,the fucking exam is over...

   FU*&^&%^(*&^^*&^%&K..................I dont know how bad it is,maybe there will be  three subject that I need to make-up exam next term...and there has one i know,practical write has fail...and tw

Non_Recursive's Home 2300

web在线解码

支持在线解码,可以上传微博、QQ、微信二维码等图片在线解析!

解除教室老师电脑控制

解除教室老师电脑控制

浅析回调机制,这是一篇骚骚的文章

序:先给一个,我对回调机制的认识:回调就是我不知道你调用这个 具体 干嘛,但是我知道你 大概 要干什么。 比如点击,写源码的人不知道点击按钮之后登陆,还是弹出对话框,但是写源码的人知道按钮加载出来并且人的手触摸并抬起这个动作就是点击。我们先不看android的点击事件,我们先自己做一个回调。第一章: 校长要去开19大想象一个场景(郑重承诺,本例不针对任何一个人,只是举例,如果引起不适,请关

DreamCarMustang 1140

jsfuck自动解码工具.zip

jsfuck自动解码工具

jsfuck、jjencode、aaencode解码方法

jsfuck、jjencode、aaencode可以被很轻易的还原: 第一步:首先打开谷歌浏览器,进入浏览器控制台。 第二步:去掉最后一行末尾的(),复制加密后的代码; 第三步:在console控制台粘贴你第二步复制的代码; 第四步:回车,达到便能得到解密后的代码。 ...

fjh1997的博客 1万+

MythWareWindow-Min:极域电子教室最小化源码_E语言

神话之窗 极域电子教室最小化源码_E语言 没有做一些流程控制,只是一个很小的demo

TX 的 LOL(Local Oscillator Leakage,本振泄露)

项目内容LOL 是什么本振残留在 TX 输出中心频率上的杂散主要原因IQ 失衡、硬件不完美、零中频架构影响杂散、干扰、性能劣化、安全问题解决方法初始化校准 + 跟踪校准(AD9371 支持)检测手段频谱仪、回环检测、ADC ILA 抓取。

weixin_41230430的博客 2049

Python Thefuck库详解:让错误命令变得“友好”

Thefuck支持自定义规则,根据用户需求定义特定的纠正规则。例如,可以定义一个将ls命令纠正为ls -l$ fuck -a # 输出:'ls' -> 'ls -l'Thefuck库作为一款强大的命令行工具,在实际应用中展现了出色的效果。通过提供实时的命令纠正功能,它极大地提高了日常命令行操作的效率,用户不再需要手动修正输入错误。同时,在脚本编写过程中,Thefuck的自动纠正特性为用户避免了拼写错误可能带来的问题,增强了脚本的可靠性。

涛哥聊Python 1590

SOLIDWORKS无法获得下列许可 无效的使用许可号码(-8,544,0) 解决办法大全

SOLIDWORKS无法获得下列许可 无效的使用许可号码(-8,544,0) 解决办法大全。版本:SolidWorks2021。电脑:惠普战66四代。软件安装不困难!

qq_43596278的博客 11万+

js过滤出对象中想要的数据

/** * [过滤对象] * @param obj [过滤前数据] * @param arr [过滤条件,要求为数组] */ function filterObj(obj, arr) { if (typeof (obj) !== "object" || !Array.isArray(arr)) { throw new Error("参数格式不正确") } ...

少吃点肉的博客 2万+

AI大模型学习(13)小白也能学会的10分钟豆包大模型的python教程1

豆包AI大模型API是字节跳动推出的智能对话接口服务,开发者可以通过简单的HTTP请求调用强大的AI能力,实现智能问答、内容生成等功能。

isoft888的专栏,致力于C#/python分享物联网、大数据,神经网络的等领域,欢迎讨论交流! 1002

ROS相机内参标定详细步骤指南

相机标定的目的是为了确定相机内部参数和外部参数,以便修正图像并将图像坐标映射到世界坐标,或者从世界坐标映射到图像坐标。这个过程是计算机视觉和三维感知任务的关键步骤之一,它有以下主要目的: 1. **减小畸变**:相机镜头和传感器可能引入径向和切向畸变,使得图像中的直线变得弯曲或者物体的形状不准确。通过标定相机,可以矫正这些畸变,使图像更准确。

m0_56661101的博客 1万+

简单分享下python的Fuk库

python的Fuk库,你懂得

weixin_64944512的博客 1131

Windows Server上OpenVPN 2.4.8双因子认证实战:账号密码+证书,附一键脚本

本文详细介绍了在Windows Server上部署OpenVPN 2.4.8双因子认证(账号密码+证书)的实战方案,包括架构设计、证书体系规划、环境准备、服务器端配置及客户端自动化部署。通过一键脚本和优化配置,提升企业VPN的安全性和运维效率,特别适合金融、医疗等对安全性要求高的行业。

weixin_29231221的博客 467

一种编码而已

这是一道比较简单的WEB类型的题。     “[][(![]+[])[!![]+!![]+!![]]+({}+[]).....”是Jsfuck代码,本质就是js。      JSFuck是在源代码中使用只有六个不同字符的 JavaScript 语言深奥子集。字符是+, !, (, ), [, ].

当初想养猪的孩子 490

RK3568平台(USB篇)USB基础知识

现象:把USB设备比如Android手机接到PC答1:是USB控制器,是USB控制器内嵌的root hub.答2. windows里已经有了USB的总线驱动程序,接入USB设备后,是"总线驱动程序"知道你是"android phone"提示你安装的是"设备驱动程序"。USB总线驱动程序负责:识别USB设备, 给USB设备找到对应的驱动程序。答3. PC的USB口内部,D-和D+接有15K的下拉电阻,未接USB设备时为低电平USB设备的USB口内部,D-或D+接有1.5K的上拉电阻;

weixin_49303682的博客 1658

apollo自动驾驶进阶学习之:如何实现施工路段限速绕行及其参数调试

首先需要理解Planning模块是基于Scenario、Stage、Task这样的层次来进行的,即场景->步骤->具体的决策方法。Apollo可以应对自动驾驶所面临的不同道路场景,都是通过Scenario统一注册与管理。Scenario通过一个有限状态机来判断选择当前行车场景,每个Scenario下又有多个Stage,指当前场景下需要执行的粗略步骤。.........

qq_41593516的博客 6599

如何逆向破解JSFuck:6字符代码的深度技术解密与安全审计指南

JSFuck逆向破解是每个JavaScript安全研究人员必须掌握的核心技能之一。这种仅使用`[]()!+`六个字符就能编写完整JavaScript代码的深奥编程语言,不仅展示了JavaScript语言的极端灵活性,更成为恶意代码混淆、安全绕过和代码保护的关键技术。本文将从攻击面分析、解码技术实战、防御策略三个维度,深入剖析JSFuck六字符代码的逆向破解全过程,为安全研究人员提供一套完整的Jav

gitblog_00494的博客 317

主成分分析(PCA)简洁高效MATLAB实现详解

本文介绍了一个简洁高效的PCA算法实现。该实现通过SVD分解计算主成分,避免了显式协方差矩阵计算,支持两种降维方式:固定维度或按能量比例自动选择。核心步骤包括数据中心化、SVD分解和维度选择,代码量少但功能完整,适用于数据预处理、降维和特征提取等任务。实现中考虑了稀疏矩阵转换、默认参数处理等细节,可直接应用于MATLAB环境。

m0_62153576的博客 64

Django的objects.get和objects.filter方法详解和区别

django的filter方法是从数据库的取得匹配的结果,返回一个对象列表,如果记录不存在的话,它会返回[]。django的get是从数据库的取得一个匹配的结果,返回一个对象,如果记录不存在的话,它会报错。

数据库技术 814

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

如何使用django的objects.filter()方法匹配多个关键字

介绍: 今天在使用django的时候忽然想用到,如何匹配多个关键字的操作,我们知道django有一个objects.filter()方法,我们可以通过如下一句代码实现匹配数据库中title包含key关键词的文章名称。 table.objects.filter(title__contains=key) 问题: 但是我的需求是我不仅仅只需要匹配出一个关键字的文章而是多个关键字的文章,那么我们该如何使...

拼命小李博客 1万+

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

上一篇: 如何处理E-R图中的“关系的属性”【关系代数骚操作】
下一篇: 程序员修神之路:问世间异步为何物?
xosg
xosg 领域专家: 网络协议与安全技术领域 领域专家: 网络协议与安全技术领域
博客等级 码龄9年 1986粉丝 864原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xosg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值