gpt4 book ai didi

JavaScript - 如何通过查找值来查找对象属性

转载 作者:行者123 更新时间:2023-12-02 15:40:21 25 4
gpt4 key购买 nike

我有一个带有属性和子属性的对象,我需要找到这些属性和子属性以查找它们是否包含特定值。

这是我的data对象的示例:

var data = [
{
value: 'Orlando International Airport (MCO)',
data: {
category: 'Airport',
address: '1 Jeff Fuqua Blvd., Orlando, FL',
airport: 'MCO',
location: 'Orlando'
}
},
{
value: 'Orlando Sanford International Airport (SFB)',
data: {
category: 'Airport',
address: '1200 Red Cleveland Blvd., Sanford, FL',
airport: 'SFB',
location: 'Orlando'
}
},
{
value: 'Port Canaveral Cruise Terminal',
data: {
category: 'Cruise Terminal',
address: 'Port Canaveral, FL',
airport: '',
location: 'Port Canaveral'
}
},
{
value: 'Baymont Inn & Suites Florida Mall/Orlando',
data: {
category: 'Hotel',
address: '8820 S Orange Blossom Trail, Orlando, FL',
airport: '',
location: 'Orlando'
}
},

问题:我需要一个函数,如果满足则返回 true

location1 == 'Port Canaveral' && location2 == 'Orlando'

如果则为假

(location1 == 'Orlando' && location2 == 'Orlando') || (location1 == 'Port Canaveral' && location2 == 'Port Canaveral')

但我只知道应该确定相应位置的“值”属性。我希望真正擅长使用 JavaScript 对象的人可以在这里帮助我。

更新1:简而言之,我需要一个与此类似的函数:

function locations_different(string1, string2) {
i1 = data.value.indexOf(string1);
location1 = data[i1].data.location;

i2 = data.value.indexOf(string2);
location2 = data[i2].data.location;

return ((location1 == 'Port Canaveral' && location2 == 'Orlando') && !((location1 == 'Orlando' && location2 == 'Orlando') || (location1 == 'Port Canaveral' && location2 == 'Port Canaveral')));
}

更新 2:这是一个不起作用的 jsfiddle:http://jsfiddle.net/p1n20tzk/

更新 3:这是一个有效的更新(感谢 @james-k 启动它)http://jsfiddle.net/edj0qvu0/

最佳答案

    Object.byString = function(o, s) {
s = s.replace(/\[(\w+)\]/g, '.$1'); // convert indexes to properties
s = s.replace(/^\./, ''); // strip a leading dot
var a = s.split('.');
for (var i = 0, n = a.length; i < n; ++i) {
var k = a[i];
if (k in o) {
o = o[k];
} else {
return;
}
}
return o;

if(Object.byString(data, 'valueString.location') == 'Port Canaveral'){
return true;
}else{
return false;
}

关于JavaScript - 如何通过查找值来查找对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32638719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com