使用过滤器和关键字搜索对象数组

2024-01-03

我有一个数组、过滤器和关键字。 我想使用过滤器和关键字在该数组中搜索,以及对象的结果数组。就像第一个数组一样。

var data = [
  {email: "[email protected] /cdn-cgi/l/email-protection",nama:"User A", Level:"Super Admin"},
  {email: "[email protected] /cdn-cgi/l/email-protection",nama:"User B", Level:"Super Admin"},
  {email: "[email protected] /cdn-cgi/l/email-protection",nama:"User C", Level:"Standart"},
  {email: "[email protected] /cdn-cgi/l/email-protection",nama:"User D", Level:"Standart"},
  {email: "[email protected] /cdn-cgi/l/email-protection",nama:"User E", Level:"Admin"},
  {email: "[email protected] /cdn-cgi/l/email-protection",nama:"User F", Level:"Standart"}
];
var filter = "Level";
var keyword = "Standart";

//--------Search


console.log(data);

您可以使用Array.prototype.filter https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter函数接受回调并进行相应的过滤。根据文档:

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

回调是提供的函数,它采用三个参数。从文档中:

callback

函数是一个谓词,用于测试数组的每个元素。返回 true 以保留元素,否则返回 false,采用三个参数:

element

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

index

数组中当前正在处理的元素的索引。

array

调用了数组过滤器。

我们可以使用element检查当前元素并测试是否应该过滤它,如下所示:

var data = [
  {email: "[email protected] /cdn-cgi/l/email-protection",nama:"User A", Level:"Super Admin"},
  {email: "[email protected] /cdn-cgi/l/email-protection",nama:"User B", Level:"Super Admin"},
  {email: "[email protected] /cdn-cgi/l/email-protection",nama:"User C", Level:"Standart"},
  {email: "[email protected] /cdn-cgi/l/email-protection",nama:"User D", Level:"Standart"},
  {email: "[email protected] /cdn-cgi/l/email-protection",nama:"User E", Level:"Admin"},
  {email: "[email protected] /cdn-cgi/l/email-protection",nama:"User F", Level:"Standart"}
];
var filter = "Level";
var keyword = "Standart";

var filteredData = data.filter(function(obj) {
	return obj[filter] === keyword;
});

console.log(filteredData);

在这里,我们使用回调(测试)来检查当前元素(obj) 中指定的属性filter严格等于keyword。如果它通过了,它就会被保留,因此所有具有属性的对象Level与淡水河谷Standart被存管。您还可以缩短此时间ES6 箭头函数 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions:

var filteredData = data.filter((obj) => obj[filter] === keyword);

这只是上面的简写。它实际上是相同的,根据当前元素是否存在返回 true 或 falseLevel属性严格等于keyword.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用过滤器和关键字搜索对象数组 的相关文章

  • jslint 配置 |传递全局变量

    我如何提醒 jshint 我有全局变量 即命名它们 我知道你可以做到这一点 但我不记得语法了 我在这里定义了一个全局的 function window glob1 local var 稍后像这样使用 不同的 IIFE function gl
  • 纯 JS 相当于 Jquery eq()

    jquery 的纯等价物是什么eq 例如 我怎样才能实现 class1 class2 eq 0 text 1254 在纯 JavaScript 中 要获取数组中的元素索引 可以使用 在 JavaScript 中 因此 要重现您的代码 您可以
  • IndexError:索引 10 超出尺寸为 10 的轴 0 的范围

    我正在以数字方式为 x 网格和 x 向量以及时间网格设置网格 但我再次设置了一个数组x 位置 只能在 0 到 20 之间并且t 时间 将从 0 到 1000 以便求解热方程 但每次我想要 例如 我将步数设置为 10 时 都会收到错误 Tra
  • 为什么我需要使用 setState 回调来设置依赖于第一个项目的 setState 完成的第二个状态项目的状态?

    在此 componentDidUpdate 方法中 执行 setState 将引号设置为从 fetch 返回的内容后 我必须使用回调再次执行 setState 将 randomQuoteIndex 设置为调用 randomQuoteInde
  • Jquery.Validate - 基于哪个选项卡添加/删除规则

    我有一个 Bootstrap 4 选项卡式界面 每个选项卡上都有输入框 我想允许用户根据他们所在的选项卡输入不同的必填字段 因此我希望根据该选项卡添加或删除验证 无论用户位于哪个选项卡 还有一些强制输入 我所做的是创建一个默认验证函数 添加
  • 我应该如何实现将状态保存到 localStorage?

    CODE var React require react var Recipe require Recipe jsx var AddRecipe require AddRecipe jsx var EditRecipe require Ed
  • 如何绕过Access-Control-Allow-Origin?

    我正在一个平台上对我自己的服务器进行ajax调用 他们设置了阻止这些ajax调用的平台 但我需要它从我的服务器获取数据以显示从我的服务器数据库检索到的数据 我的 ajax 脚本正在运行 它可以将数据发送到我的服务器的 php 脚本以允许其处
  • Angular 2 将字符串转换为 md5 哈希

    我找到了ts md5 https www npmjs com package ts md5包 但在示例中它有一个hashStr方法 但现在不行了 类型上不存在属性 hashStr Md5 使用该错误后 该错误会记录在我的控制台中 我怎样才能
  • 如何在打字稿中使用外部js

    我通过 Typescript 代码生成 Angular JS 代码 在一种情况下 我需要将外部 JS 文件添加到我的打字稿文件中 并且需要访问 js 文件中的类 我像这样添加js文件
  • strlen() 编译时优化

    前几天我发现你可以找到编译时strlen使用这样的东西 template
  • 在 Chrome 开发者工具中禁用调试器语句

    我正在尝试对恶意 JavaScript 进行逆向工程 当我最初加载侧面时 会注入 JS 代码 其中包括 debugger 语句并将断点注入我的 chrome 开发人员控制台 通过stackoverflow阅读 禁用所有断点does not帮
  • 如何在 Chrome 中获取 div 上的 keydown 事件?

    我想在 div 上获取 keydown 事件 我使用 JQuery keydown 很简单 但是 它不适用于 Chrome 为了在 chrome 上工作 我必须设置 tabindex 0 如果我这样做 Chrome 会在我的 div 周围放
  • JavaScript 错误:MVC2 视图中的条件编译已关闭

    我试图在 MVC2 视图页面中单击时调用 JavaScript 函数 a href Select a JavaScript 函数 function SelectBenefit id code alert id alert code 这里 b
  • 在循环中调用 setTimeout 未按预期工作

    下面的 JavaScript 应该 在我看来 以 0 5 秒的间隔播放一系列音符 但它会将它们全部作为一个同时的和弦来演奏 知道如何修复它吗 function playRecording if notes length gt 0 for v
  • 如何在 Javascript 中连接 C# ActiveX 事件处理程序

    我尝试使用几个代码片段将 ActiveX 对象与 Javascript 事件处理程序挂钩 我无法确定为什么事件处理程序没有被调用 带有项目的 Github 存储库 https github com JesseKPhillips Csharp
  • 从请求url获取hash参数

    我有这样的网址 http www coolsite com daily plan id 1 http www coolsite com daily plan id 1解析该字符串并读取哈希值 id 之后的值 的最简单方法是什么 谢谢 在客户
  • 如何使用 Javascript OAuth 库不暴露您的密钥?

    看着Twitter OAuth 库 https dev twitter com docs twitter libraries 我看到了这个注释 将 JavaScript 与 OAuth 结合使用时要小心 不要暴露你的钥匙 然后 看着jsOA
  • 数组上的 Bash 子字符串扩展

    我有一组带有给定后缀的文件 例如 我有一组带有后缀的pdf文件 pdf 我想使用子字符串扩展来获取不带后缀的文件名 对于单个文件我可以使用 file test pdf echo file 0 4 要对所有文件执行此操作 我现在尝试 file
  • 根据文本内容从 jquery 对象中过滤元素

    我正在尝试使用contains带有 this 关键字 但它给出了错误 JS function var check ul find li filter function return this contains two css color r
  • jQuery:如何正确使用 .stop() 函数?

    在本页面 http www arvag net old smsbox de http www arvag net old smsbox de 当您将鼠标悬停在 Informationen 和 ber ins 上时 它会显示一个子菜单 当您将

随机推荐

  • 正则表达式仅匹配字符串以目标结尾的情况

    我需要一个正则表达式 它仅与以我要查找的目标结尾的字符串匹配 我需要找到具有特定扩展名的文件 问题是该扩展名也出现在其他文件中 例如我有两个文件名为 B82177 2014 07 08T141507758Z ccf and B82177 2
  • iPhone SDK WebRTC 集成错误

    安装时WebRTC我的 iOS 项目出现以下错误 Undefined symbols for architecture i386 OBJC CLASS RTCICECandidate referenced from objc class r
  • 没有 if-else 语句的一维卷积(非 FFT)?

    我编写了一个简单的串行一维卷积函数 如下 我也在尝试 GPU 卷积实现 这主要是出于我自己的好奇心 我正在尝试了解各种非 FFT 实现策略之间的性能权衡 避免分支对于我的 GPU 卷积实验非常重要 因为分支在 Nvidia GPU 上的成本
  • JavaScript 中的二进制到字符串

    我创建了一个 JavaScript 程序来将字符串转换为二进制 Input StackOverflow Output 1010011 1110100 1100001 1100011 1101011 1001111 1110110 11001
  • 将图表添加到 d3 中的工具提示

    我正在尝试向我的工具提示添加一个简单的条形图 它由两个变量组成 男性和女性 我希望有人能够帮助我将其放入工具提示中 而不是将其附加到当前附加的位置 我已经给了它一个要附加的特定区域 以便我知道它实际上正在显示 确实如此 但我不知道如何将其放
  • 使用 Python 请求选择表单

    我想使用一个能够填写表单和处理重定向的 python 库 主页 页面有一个表单 username user password pass 重定向 页面将我带到一个新页面 新 页面有一个指向最终页面的链接 最终 页面有一个表单 Field 1
  • cygwin - 无法执行二进制文件

    我正在尝试从我的 C 代码运行这两个 data 文件来完成我的作业 我已获得所有文件 并且仅用于实现程序的一些功能 所有内容都应该能够运行 make 命令进行编译 我以前运行的是 MAC 只是刚刚开始使用 Windows win 7 因为工
  • 通过 Node js 进行 ffmpeg mp3 流传输

    var fs require fs var child require child process var http require http var input file fs createReadStream remo mp3 http
  • 如何去除html中点击按钮周围的边框?

    我最近开始建立一个网站 并开始在上面制作按钮 但是 每当我单击该按钮时 我都会看到一个蓝色边框 例如this https i stack imgur com 6TGIX jpg 我应该如何摆脱这个边界 提前致谢 将此 css 添加到您的按钮
  • 移动屏幕锁定时广播接收器不会触发

    当我安装该应用程序时 一切正常 每次发送消息时 我都可以打印消息正文 直到锁定手机屏幕 之后 应用程序停止打印传入消息 我尝试了很多方法来克服这个问题 但没有成功 请帮我 public class SmsReceiveActivity ex
  • Polymer 1.0 观察者 - 不在数组上工作

    我设置了一个观察者来捕获数组属性上的所有聚合物识别事件 但我捕获它来捕获更改 在下面的示例中 我的观察者函数 bigup 仅在属性 bigs 首次初始化时才会被调用
  • Xcode 中两个具有重复符号的静态库

    我有两个静态库 它们似乎有重复的符号 TBXML o 并且无法编译 ld duplicate symbol OBJC METACLASS TBXML in Users Hoya Desktop SocialSync include SMUF
  • 使用 Android 手机作为 wifi 网络服务器

    我有一个疯狂的想法 我不知道是否可能 我想做的是将我的手机设置为wifi接入点 然后允许人们连接到它 但自己处理所有传入的http流量 So 手机 wifi 处于接入点模式 开放 wifi 网络 这个花絮有效 是的 我知道它没有得到官方支持
  • Silverlight MSBuild 任务 - Xap 复制到 ClientBin 后执行命令行

    我有一个silverlight项目安排如下 Examples Silverlight Bin Debug ExampleCode 多个子目录 Silverlight Web Bin Debug ClientBin Silverlight W
  • 由于 require-from-string,使用 npm 安装 Angular 时出错

    由于我无法安装 Angular 如何解决此错误 请参阅以下异常 C Users absin node gt npm install g angular cli npm ERR code ETARGET npm ERR notarget No
  • 在 Xcode 终端中运行时找不到“Cordova/CDVViewController.h”文件

    因此 当我尝试从 xcode 终端构建代码时 它失败了 并给出了 Cordova CDVViewController h 文件未找到的错误 但是当我从 xcode 构建此代码时 它构建得很好 在我的 Xcode 中 我已经完成了整个 Cor
  • 如何在 Spring Boot 2 中禁用管理端口的安全性

    我有 执行器 端点 在我的例子中manage 在端口 6565 上 是否可以仅针对特定端口禁用 Spring Boot 2 中的安全性 目前我只能将某些路径排除在安全之外 如果我现在在 manage 下的主应用程序端口 1337 下运行 E
  • Python 中字符串中的所有其他字母都大写吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我一直在尝试定义一个函数 它将大写所有其他字母 并考虑空格 例如 print function name Hello world 应该打印
  • JPA CriteriaBuilder - 按一对多关系中关联实体的数量排序

    我有两个处于一对多关系的实体 客户 和 订单 对于每个客户 我需要计算关联订单的数量 并按该数量对结果进行排序 在本机 postgres 查询中 它看起来像这样 select cust id count order id from cust
  • 使用过滤器和关键字搜索对象数组

    我有一个数组 过滤器和关键字 我想使用过滤器和关键字在该数组中搜索 以及对象的结果数组 就像第一个数组一样 var data email email protected cdn cgi l email protection nama Use