首页 > 解决方案 > 在执行之前检查数组中是否存在某些内容

问题描述

我在下面有一个不断变化的数组。它正在 node.js 应用程序中使用。我的一切工作正常,可以更新数组的元素,但是如果我重新启动节点并且浏览器仍在运行,网页仍然会发送数据并导致它崩溃,所以我需要在它尝试做某事之前检查数组是否存在。

我的数组是这样的,称为用户:-

[ { username: 'a',
    active: true,
    lat: '52.4099584',
    lng: '-1.5310848' } ]

所以我需要检查用户名'a'是否存在。我努力了

users.map(obj => obj.username).indexOf(value) >= 0;

但不起作用?

有什么建议么?

谢谢

标签: javascriptjquery

解决方案


如果您要删除没有用户名的用户,那么您可以执行以下操作。

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);


推荐阅读