Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.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 - Fatal编程技术网

Javascript 如何使用运算符按字符串编号筛选数组?

Javascript 如何使用运算符按字符串编号筛选数组?,javascript,Javascript,我实现了一种根据指定选项过滤商品的方法。该方法将包含搜索参数的options对象作为参数,例如:{name:“item 2”,price:“2”},每个选项都是可选的。该方法必须返回商品的过滤数组。filterProductBy(选项) 我设法按名称筛选。告诉我如何按号码正确筛选,以便筛选调用如下所示: console.log(shop.filterProductBy({ name: "product 1", count: ">1", price: "<=1000"})); 你的问

我实现了一种根据指定选项过滤商品的方法。该方法将包含搜索参数的options对象作为参数,例如:{name:“item 2”,price:“2”},每个选项都是可选的。该方法必须返回商品的过滤数组。filterProductBy(选项)

我设法按名称筛选。告诉我如何按号码正确筛选,以便筛选调用如下所示:

console.log(shop.filterProductBy({
name: "product 1",
count: ">1",
price: "<=1000"}));

你的问题涉及多个子问题。
我认为最重要的是如何将字符串解析为比较运算符?

这是一个主要的实现,您可以进一步:

函数解析复合运算符(oString,lhs){
if(oString.match(“(?:)=?\\d+”)==null){
返回“无效输入”;
}
让rator=oString.match(“(?:)=?”[0];
设rhs=oString.match(\\d+)[0]*1;
如果(r=='>'){
返回(左侧>右侧);
}
else if(rator=='='='){
返回(左侧>=右侧);
}
否则如果(r=='