Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 评估的替代方案_Javascript_Jquery_Arrays_Eval - Fatal编程技术网

Javascript 评估的替代方案

Javascript 评估的替代方案,javascript,jquery,arrays,eval,Javascript,Jquery,Arrays,Eval,我在做一些常用函数,其中我传递数组、数组中字段的名称、数组中字段的值,并将字段名称返回给返回值,如下所示 function arrayFilter(_array, findField, value, returnField) { var temp = "_array[i]." + findField; var retValue = ""; for (var i = 0; i < _array.length; i++) { if (eval(temp) == value) {

我在做一些常用函数,其中我传递数组、数组中字段的名称、数组中字段的值,并将字段名称返回给返回值,如下所示

function arrayFilter(_array, findField, value, returnField) {
 var temp = "_array[i]." + findField;
 var retValue = "";
 for (var i = 0; i < _array.length; i++) {
   if (eval(temp) == value) {
  return eval("_array[i]." + returnField);
  }
 }
}
函数数组过滤器(_数组,findField,value,returnField){
var temp=“_数组[i]”和findField;
var-retValue=“”;
对于(变量i=0;i<\u array.length;i++){
如果(评估(温度)=值){
返回值(“_数组[i]”和返回字段);
}
}
}
但当我在互联网上阅读时,我发现eval并不好,它可以进行字符串注入攻击

因此,请有人在上面提供帮助。

而不是:

return eval("_array[i]." + returnField);
尝试:

并阅读。

,而不是:

return eval("_array[i]." + returnField);
尝试:

也可以阅读。

当密钥的值未知时,可以使用方括号表示法访问属性

function arrayFilter(_array, findField, value, returnField) {
 var temp = _array[i][findField];
 var retValue = "";
 for (var i = 0; i < _array.length; i++) {
   if (temp == value) {
     return _array[i][returnField];
   }
 }
}
函数数组过滤器(_数组,findField,value,returnField){
var temp=_数组[i][findField];
var-retValue=“”;
对于(变量i=0;i<\u array.length;i++){
如果(温度==值){
返回_数组[i][returnField];
}
}
}
当密钥值未知时,可以使用方括号表示法访问属性

function arrayFilter(_array, findField, value, returnField) {
 var temp = _array[i][findField];
 var retValue = "";
 for (var i = 0; i < _array.length; i++) {
   if (temp == value) {
     return _array[i][returnField];
   }
 }
}
函数数组过滤器(_数组,findField,value,returnField){
var temp=_数组[i][findField];
var-retValue=“”;
对于(变量i=0;i<\u array.length;i++){
如果(温度==值){
返回_数组[i][returnField];
}
}
}

你有循环使用的数组类型的例子吗?我问这个问题只是因为如果你能更好地重组数组,就必须有更好的方法来做你想做的事情。我真的不明白为什么人们会问这个问题。他们是如何在极其基础的
[]
之前了解
eval
的?你有循环使用的数组类型的示例吗?我问这个问题只是因为如果你能更好地重组数组,就必须有更好的方法来做你想做的事情。我真的不明白为什么人们会问这个问题。在极其基础的知识之前,他们如何学习
eval
,即
[]