首页 > 代码库 > 利用eval给数组扩展表达式查询
利用eval给数组扩展表达式查询
Array.prototype.IndexOf = function (exp) { var isexp = exp.indexOf(‘=>‘) > -1, bef = isexp ? exp.split(‘=>‘)[0] : ‘‘, expstr = isexp ? exp.split(‘=>‘)[1].replace(new RegExp(bef, ‘g‘), ‘this[i].‘) : ‘‘; for (var i = 0; i < this.length; i++) { if (isexp && eval(expstr)) { return i; } else { if (this[i] == exp) { return i; } } } return -1; };
使用:
var
arr = [{ a: 1, b: 2 }, { a: 23, b: 987 }, { a: 23, b: 9837 }, { a: 2113, b: 987 }];
var
arr2 = [1,2,3,4,5];
console.log(arr2.indexOf(4)); //return 3
console.log(arr.indexOf(
"m=>m.a==23&&m.b==987"
)); //return 1
利用eval给数组扩展表达式查询
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。