javascript - 在执行之前检查数组中是否存在某些内容
问题描述
我在下面有一个不断变化的数组。它正在 node.js 应用程序中使用。我的一切工作正常,可以更新数组的元素,但是如果我重新启动节点并且浏览器仍在运行,网页仍然会发送数据并导致它崩溃,所以我需要在它尝试做某事之前检查数组是否存在。
我的数组是这样的,称为用户:-
[ { username: 'a',
active: true,
lat: '52.4099584',
lng: '-1.5310848' } ]
所以我需要检查用户名'a'是否存在。我努力了
users.map(obj => obj.username).indexOf(value) >= 0;
但不起作用?
有什么建议么?
谢谢
解决方案
如果您要删除没有用户名的用户,那么您可以执行以下操作。
const data = [{
username: 'a',
active: true,
lat: '52.4099584',
lng: '-1.5310848' },
{
username: undefined,
active: true,
lat: '52.4099584',
lng: '-1.5310848' }];
console.log(data.filter(({username})=> username && username !== null));
否则,您应该只使用类似every
const data = [ {
username: undefined,
active: true,
lat: '52.4099584',
lng: '-1.5310848' },
{
username: 'a',
active: true,
lat: '52.4099584',
lng: '-1.5310848' }];
console.log(data.every(({username})=> username && username !== null));
或查找索引
const data = [ {
username: undefined,
active: true,
lat: '52.4099584',
lng: '-1.5310848' },
{
username: 'a',
active: true,
lat: '52.4099584',
lng: '-1.5310848' }];
console.log(data.findIndex(({username})=> !username || username === null) > -1);
推荐阅读
- mysql - 无法将tomcat容器连接到kubernetes中的mariadb数据库容器?
- python - 如何在 SQLAlchemy 中的一对一关系上按混合属性排序,并在同一张表上引用两次?
- beautifulsoup - 使用 BeautifulSoup 搜索 xml 条目
- powershell - Powershell获取广告用户天数以过期密码
- java - 在春天运行 javax.websocket 端点?
- c# - ASP.NET Core - 将枚举参数从 razor View 传递到 formaction
- zsh - 是否可以根据当前的 vi_mode 更改 powerlevel9k 中目录的背景颜色?
- java - 如何在Java中的某个时间间隔内执行plink的多个命令?
- sqlite - Xamarin.Forms 中的 SQLite-Net-Pcl
- ios - UICollectionViewCompositionalLayout:右对齐部分内的单元格