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
,即[]
?