如何检查数组数据是否已经以角度存在

Pan*_*nda 1 javascript typescript angular

这是代码:

data = [
    {
        'id': 'asdja',
        'username': 'james',
    },
    {
        'id': 'asqweja',
        'username': 'rhou',
    },
    {
        'id': 'asdqweqj',
        'username': 'arianne'
    },
    {
        'id': 'qpoaksl',
        'username': 'ryan'
    }
];
Run Code Online (Sandbox Code Playgroud)

我正在尝试检查是否username已经存在。

例如,如果我输入,"james"那么它应该显示"Username already exists"

我尝试使用查找:

if (username === data.find((x: any) => x.username === x.username) {
 console.log('Username already exists');
} else {
 console.log('');
}
Run Code Online (Sandbox Code Playgroud)

KSh*_*ger 5

您可以some为它使用 Javascript Array ,它在满足或不满足条件时返回一个布尔值。

const inputName = 'james';

// You can use destructuring assignment ({ }) if you only want to use/
// extract a certain property, in our case we will only use the username
const isUserExists = data.some(({ username }) => username === inputName);

console.log(isUserExists); 
Run Code Online (Sandbox Code Playgroud)