Javascript 如何检查数组数据是否已存在于angular中

Javascript 如何检查数组数据是否已存在于angular中,javascript,angular,typescript,Javascript,Angular,Typescript,代码如下: 数据=[ { “id”:“asdja”, '用户名':'詹姆斯', }, { “id”:“asqweja”, “用户名”:“rhou”, }, { 'id':'asdqweqj', “用户名”:“阿里安” }, { 'id':'qpoaksl', “用户名”:“ryan” } ]; 我正在检查用户名是否已经存在 例如,如果我输入james,那么它应该显示用户名已经存在 我试图找到: if (username === data.find((x: any) => x.usernam

代码如下:

数据=[ { “id”:“asdja”, '用户名':'詹姆斯', }, { “id”:“asqweja”, “用户名”:“rhou”, }, { 'id':'asdqweqj', “用户名”:“阿里安” }, { 'id':'qpoaksl', “用户名”:“ryan” } ]; 我正在检查用户名是否已经存在

例如,如果我输入james,那么它应该显示用户名已经存在

我试图找到:

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

您可以使用Javascript数组,在满足或不满足条件时返回布尔值

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

您可以使用Javascript数组,在满足或不满足条件时返回布尔值

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); 
常数数据=[ { id:“asdja”, 用户名:“james”, }, { id:‘asqweja’, 用户名:“rhou”, }, { id:'asdqweqj', 用户名:'arianne' }, { id:'qpoaksl', 用户名:“ryan” } ]; const user=data.findx=>x.username=='james' 如果用户{ 日志“用户名已经存在”; }否则{ console.log; } 常数数据=[ { id:“asdja”, 用户名:“james”, }, { id:‘asqweja’, 用户名:“rhou”, }, { id:'asdqweqj', 用户名:'arianne' }, { id:'qpoaksl', 用户名:“ryan” } ]; const user=data.findx=>x.username=='james' 如果用户{ 日志“用户名已经存在”; }否则{ console.log;
} 您试图做的是查找数据数组,该数组是给定用户名的对象数组,并想知道它是否存在。您可以简单地使用过滤器查看是否得到空列表。如果它返回一个空列表,则用户名不存在,否则会存在

var nameToCheck='james' 函数checkUsername{username}{ 返回用户名===nameToCheck } var res=data.filtercheckustername; console.logres==[]?'用户名不存在!:'用户名已存在!';
您试图做的是查找数据数组,该数组是给定用户名的对象数组,并想知道它是否存在。您可以简单地使用过滤器查看是否得到空列表。如果它返回一个空列表,则用户名不存在,否则会存在

var nameToCheck='james' 函数checkUsername{username}{ 返回用户名===nameToCheck } var res=data.filtercheckustername; console.logres==[]?'用户名不存在!:'用户名已存在!'; 您还可以使用过滤器长度直接检入if条件

const data=[{id:'asdja',用户名:'james',},{id:'asqweja',用户名:'rhou',},{id:'asdqweqj',用户名:'arianne'},{id:'qpoaksl',用户名:'ryan'}]; 让username='james'; 如果data.filter{username}=>username==username.length{ 日志“用户已经存在”; }否则{ console.log“新用户”; } 您还可以使用过滤器长度直接检入if条件

const data=[{id:'asdja',用户名:'james',},{id:'asqweja',用户名:'rhou',},{id:'asdqweqj',用户名:'arianne'},{id:'qpoaksl',用户名:'ryan'}]; 让username='james'; 如果data.filter{username}=>username==username.length{ 日志“用户已经存在”; }否则{ console.log“新用户”; } 使用索引的另一种方法

使用索引的另一种方法


到目前为止你做了什么来实现它?@VaritJPatel我尝试使用find,但仍然不起作用。请添加到目前为止你尝试做的任何事情。这有助于社区了解您的答案,并向您解释您的错误。@Panda,data.find返回null或element,如果data.findx:any=>x.username==x.username,则必须返回null或element。比较对象时,不要比较具有相同属性的对象,例如obj={a:10};obj1={a:10};bool=obj==obj2;equals是False到目前为止你做了什么来实现它?@VaritJPatel我尝试使用find,但仍然不起作用。请添加到目前为止你尝试做的任何事情。这有助于社区了解您的答案,并向您解释您的错误。@Panda,data.find返回null或element,如果data.findx:any=>x.username==x.username,则必须返回null或element。比较对象时,不要比较具有相同属性的对象,例如obj={a:10};obj1={a:10};bool=obj==obj2;平等是错误的