javascript - javascript 的 eval 不是邪恶的例子?

标签 javascript node.js eval

我每天阅读一些 stackOverflow 问题和答案超过十次,而且......这看起来是我第一次觉得可以发布一些东西,因为我没有找到足够准确的答案。

我正在用nodeJS编写一些代码。它的大型软交换网络界面基于自定义星号,在一个地方我需要从网站的发布消息中获取数据。

问题是,该帖子包含大量时尚命名的信息:

peer1

peer2

peer3

peer4 etc

我没有处理每一个,而是做了一个循环:

 var array = [];
 var i = 0;
        while (typeof eval("req.body.peer" + i) !== 'undefined' &&  eval("req.body.peer" + i) !== '') {
        console.log('petla wisielca');
        //console.log(eval("req.body.peer" + i));
        array.push(eval('req.body.peer' + i));
        i++;
        }

数字填充的输入(实际上是它的 html 选择)是可变的。

创建该数组后,我在传统的非评估循环中处理其余的事情(将同级写入文件等)。

我在这里遗漏了一些东西,还是处理这种情况的正确方法?

提前致谢!

编辑:

看起来我的大脑出现了某种故障:)。

解决方案很简单,

kyle清除它,访问对象变量,例如迭代,只需要使用 []。

解决方案:

var array = []
var i = 0
while (req.body['peer' + i]) {
  array.push(req.body['peer' + i])
  i++
}

再次感谢凯尔。

最佳答案

可以像访问关联数组一样访问 JavaScript 对象:

var array = []
var i = 0
while (req.body['peer' + i]) {
  array.push(req.body['peer' + i])
  i++
}

关于javascript - javascript 的 eval 不是邪恶的例子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23090254/

相关文章:

javascript - 如何创建一个脚本来自动 HTML 中的链接交换?

javascript - 在 Context 消费者上使用 useContext() 时,React Context "Property ' 状态'不存在

node.js - 带有 header 和身份验证的 npm 请求

node.js - 奇怪的 Socket.IO 行为 : events "on connection" and "on disconnect" happen almost at the same type

node.js - 如何导出异步等待函数以像 utils 文件一样使用?

javascript - Firefox drawImage 将图像着色为蓝色

javascript - 即使用户已登录,环回也会抛出 accessToken undefined

php - 匹配、评估和替换 BBCode 样式标签

javascript - 执行外部 Javascript NodeJS

flutter - 在 flutter 中将字符串读取为 dart 代码的方法?