gpt4 book ai didi

javascript - 如何提取数组中特定条目的值?

转载 作者:行者123 更新时间:2023-12-02 23:55:01 38 4
gpt4 key购买 nike

我需要能够从数组中提取特定值,以便能够在 IF 语句中使用它来过滤 SQL 中的数据。我的目标是能够创造出这样的东西

if(obj !== undefined){ //do something} else { //do something else }

我需要这样做的原因是为了知道 SQL 中是否有条目,这是我唯一能想到的做法。检查搜索时是否返回任何值。

代码:

con.query("SELECT * FROM whitelisttest WHERE (identifier) = (?)", [messageArray[1]], function (err, result) {
if (err) throw err;
var person = JSON.stringify(result);
obj = JSON.parse(person);
test = obj.whitelisted;
console.log(result);
console.log(obj);
console.log(person);
console.log(test);

控制台日志结果:

[ RowDataPacket { identifier: 'etanol', whitelisted: 3 } ]

[ { identifier: 'etanol', whitelisted: 3 } ]

[{"identifier":"etanol","whitelisted":3}]

undefined
<小时/>

预期结果是当前未定义且在代码中称为 test 的输出为 3,如果我这样做,则结果为 etanol。

test = obj.identifier
console.log(test)

编辑:

对我有帮助的解决方案(在尝试执行 obj.whitelisted 时错过了 [0],而它应该是 obj[0].whitelisted)

con.query("SELECT * FROM whitelisttest WHERE (identifier) = (?)", [messageArray[1]], function (err, result) {
if (err) throw err;
var person = JSON.stringify(result);
obj = JSON.parse(person);
console.log(obj[0].whitelited)

最佳答案

这是一个数组 console.log(Array.isArray(result) )//=> true

所以你的完整答案应该是:

con.query( "SELECT * FROM whitelisttest WHERE (identifier) = (?)"
, [messageArray[1]]
, function (err, result)
{
if (err) throw err;
console.log(result[0].whitelisted)
//...

无需使用JSON.stringify然后使用JSON.parse

var obj = [ { identifier: 'etanol', whitelisted: 3 } ];


console.log(' obj[0].whitelisted => ', obj[0].whitelisted); // => 3

var ref = 'whitelisted';

console.log(' obj[0][ref] => ', obj[0][ref]); // => 3

console.log(' obj[0]["whiteliste"] => ', obj[0]['whitelisted']); // => 3

关于javascript - 如何提取数组中特定条目的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55437762/

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