javascript - 如何提取数组中特定条目的值?
问题描述
我需要能够从数组中提取特定值,以便能够在 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,如果我这样做了,结果为乙醇。
test = obj.identifier
console.log(test)
编辑:
对我有帮助的解决方案(当它应该是 obj[0].whitelisted 时尝试执行 obj.whitelisted 时错过了 [0])
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
和then 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
推荐阅读
- python - 我如何在列表理解中同时使用 If-else 和 for 循环
- flutter - flutter not appling padding
- flutter - Flutter:DateTime.now() 在具有相同时区的不同机器上返回不同的值
- php - 如何在sql查询中传递值列表
- solidity - 智能合约编译良好,但随后对“BigNumber”大喊大叫
- python - Python 代码更改未反映在 Django Web 服务器上(带有 mod_wsgi 包的 httpd)
- visual-studio-code - 在VS代码vim插件中放置多个具有相同单词前缀的游标
- node.js - 如何使用 mongoose 在 mongodb 中创建用户并为用户分配一个单独的数据库
- python-3.x - 有没有办法修复整数回文问题的解决方案中的数值错误?
- php - 尝试检索数据时未找到 google Firestore 的 php sdk 抛出错误“Google\Firestore\V1beta1\StructuredQuery\CollectionSelector”