如何使用JavaScript检查对象中是否存在值
我有一个JavaScript对象:如何使用JavaScript检查对象中是否存在值,javascript,Javascript,我有一个JavaScript对象: var obj = { "a": "test1", "b": "test2" } 如何检查test1是否作为值存在于对象中?您可以使用数组方法。一些: var exists = Object.keys(obj).some(function(k) { return obj[k] === "test1"; }); 您可以使用数组方法。有些: var exists
var obj = {
"a": "test1",
"b": "test2"
}
如何检查test1是否作为值存在于对象中?您可以使用数组方法
。一些:
var exists = Object.keys(obj).some(function(k) {
return obj[k] === "test1";
});
您可以使用数组方法。有些
:
var exists = Object.keys(obj).some(function(k) {
return obj[k] === "test1";
});
尝试:
var obj={
“a”:“test1”,
“b”:“test2”
};
Object.keys(obj).forEach(函数(key){
如果(obj[键]=='test1'){
警报(“存在”);
}
});代码>尝试:
var obj={
“a”:“test1”,
“b”:“test2”
};
Object.keys(obj).forEach(函数(key){
如果(obj[键]=='test1'){
警报(“存在”);
}
});代码>您可以尝试以下方法:
function checkIfExistingValue(obj, key, value) {
return obj.hasOwnProperty(key) && obj[key] === value;
}
var test = [{name : "jack", sex: F}, {name: "joe", sex: M}]
console.log(test.some(function(person) { return checkIfExistingValue(person, "name", "jack"); }));
您可以尝试以下方法:
function checkIfExistingValue(obj, key, value) {
return obj.hasOwnProperty(key) && obj[key] === value;
}
var test = [{name : "jack", sex: F}, {name: "joe", sex: M}]
console.log(test.some(function(person) { return checkIfExistingValue(person, "name", "jack"); }));
这应该是一个简单的检查
例1
var myObj = {"a": "test1"}
if(myObj.a == "test1") {
alert("test1 exists!");
}
这应该是一个简单的检查
例1
var myObj = {"a": "test1"}
if(myObj.a == "test1") {
alert("test1 exists!");
}
您可以将对象的值转换为数组,并测试是否存在字符串。它假定对象未嵌套,且字符串完全匹配:
var obj = { a: 'test1', b: 'test2' };
if (Object.values(obj).indexOf('test1') > -1) {
console.log('has test1');
}
您可以将对象的值转换为数组,并测试是否存在字符串。它假定对象未嵌套,且字符串完全匹配:
var obj = { a: 'test1', b: 'test2' };
if (Object.values(obj).indexOf('test1') > -1) {
console.log('has test1');
}
使用循环:
使用循环:
我对所有这些示例进行了测试,并在Node.js v8.11.2中运行了该测试。将此作为选择最佳选择的指南
let i,tt;
const obj={a:'test1',b:'test2',c:'test3',d:'test4',e:'test5',f:'test6'};
控制台时间(“test1”)
i=0;
对于(;i-1){
tt=真;
}
}
console.timeEnd(“test1”)
控制台时间(“test1.1”)
i=0;
对于(;i我对所有这些示例进行了测试,并在Node.js v8.11.2中运行了此测试。将此作为选择最佳选择的指南
let i,tt;
const obj={a:'test1',b:'test2',c:'test3',d:'test4',e:'test5',f:'test6'};
控制台时间(“test1”)
i=0;
对于(;i-1){
tt=真;
}
}
console.timeEnd(“test1”)
控制台时间(“test1.1”)
i=0;
对于(;i,您可以使用:
Object.values()
方法返回给定对象自身的数组
可枚举属性值,顺序与
for…in
循环(区别在于for in循环枚举
原型链中的属性)
然后使用以下方法:
indexOf()
方法返回给定索引所在的第一个索引
元素可以在数组中找到,如果不存在,则为-1
例如:
Object.values(obj).indexOf("test`") >= 0
下面是一个更详细的示例:
var obj={
“a”:“test1”,
“b”:“test2”
}
console.log(Object.values(obj.indexOf(“test1”));//0
console.log(Object.values(obj.indexOf(“test2”));//1
console.log(Object.values(obj.indexOf(“test1”)>=0);//true
console.log(Object.values(obj.indexOf(“test2”)>=0);//true
console.log(Object.values(obj.indexOf(“test10”));/-1
console.log(Object.values(obj.indexOf(“test10”)>=0);//false
您可以使用:
Object.values()
方法返回给定对象自身的数组
可枚举属性值,顺序与
for…in
循环(区别在于for in循环枚举
原型链中的属性)
然后使用以下方法:
indexOf()
方法返回给定索引所在的第一个索引
元素可以在数组中找到,如果不存在,则为-1
例如:
Object.values(obj).indexOf("test`") >= 0
下面是一个更详细的示例:
var obj={
“a”:“test1”,
“b”:“test2”
}
console.log(Object.values(obj.indexOf(“test1”));//0
console.log(Object.values(obj.indexOf(“test2”));//1
console.log(Object.values(obj.indexOf(“test1”)>=0);//true
console.log(Object.values(obj.indexOf(“test2”)>=0);//true
console.log(Object.values(obj.indexOf(“test10”));/-1
console.log(Object.values(obj).indexOf(“test10”)>=0);//false
var obj={“a”:“test1”,“b”:“test2”};
var getValuesOfObject=Object.values(obj)
对于(索引=0;索引
Object.values()方法返回一个数组(分配给getValuesOfObject),其中包含给定对象(obj)自己的可枚举属性值。使用for
循环迭代该数组以检索每个值(getValuesfromObject中的值),并返回一个布尔()函数,以确定表达式(“text1”是否是循环数组中的一个值)为true。var obj={“a”:“test1”、“b”:“test2”};
var getValuesOfObject=Object.values(obj)
对于(索引=0;索引
Object.values()方法返回一个数组(分配给getValuesOfObject),其中包含给定对象(obj)自己的可枚举属性值。使用for
循环迭代该数组以检索每个值(getValuesfromObject中的值),并返回一个布尔()函数,以确定表达式(“text1”是否是循环数组中的一个值)是真的。对于单行程序,我会说:
exist = Object.values(obj).includes("test1");
console.log(exist);
对于一艘客轮,我想说:
exist = Object.values(obj).includes("test1");
console.log(exist);
最短ES6+一个衬里:
let exists = Object.values(obj).includes("test1");
最短ES6+一个衬里:
let exists = Object.values(obj).includes("test1");
下面给出了简单的答案
这是因为每个JavaScript类型都有一个构造函数属性prototype
let数组=[]
array.constructor==数组
//=>正确
让数据={}
data.constructor==对象
//=>正确
下面给出了简单的答案
这是因为每个JavaScript类型都有一个构造函数属性prototype
let数组=[]
array.constructor==数组
//=>正确
让数据={}
data.constructor==对象
//=>正确
调用的函数:
getValue(obj, "a");
调用的函数:
getValue(obj, "a");
你可以试试这个
var obj = {
"a": "test1",
"b": "test2"
};
const findSpecificStr = (obj, str) => {
return Object.values(obj).includes(str);
}
findSpecificStr(obj, 'test1');
你可以试试这个
var obj = {
"a": "test1",
"b": "test2"
};
const findSpecificStr = (obj, str) => {
return Object.values(obj).includes(str);
}
findSpecificStr(obj, 'test1');
新版