码迷,mamicode.com
首页 > 编程语言 > 详细

利用eval给数组扩展表达式查询

时间:2014-12-22 14:09:37      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:

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给数组扩展表达式查询

标签:

原文地址:http://www.cnblogs.com/liaohaihui/p/4178006.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!