Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.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_Arrays_Json_Node.js - Fatal编程技术网

Javascript 从数组创建自定义对象

Javascript 从数组创建自定义对象,javascript,arrays,json,node.js,Javascript,Arrays,Json,Node.js,我有一个包含以下元素的数组。我正试图从数组中创建一个对象 var arr = [ 'find({ qty: { $lt: 20 } } )', 'limit(5)', 'skip(0)' ] 下面是我的代码。在这里,我只得到作为输出的值。这方面的任何帮助都会很有帮助 for (var i = 0; i < arr.length; i++) { var res = arr[i].search(/\(/ig) if (res!= -1) {

我有一个包含以下元素的数组。我正试图从数组中创建一个对象

var arr = [
  'find({ qty: { $lt: 20 } } )',
  'limit(5)',
  'skip(0)'
]
下面是我的代码。在这里,我只得到作为输出的值。这方面的任何帮助都会很有帮助

for (var i = 0; i < arr.length; i++) {
        var res = arr[i].search(/\(/ig)
        if (res!= -1) {
            var result = arr[i].split("(");
            result = result[1].slice(0, -1))
        }
    }
看到这个了吗

只需检查元素是否是数组中的第一个元素,如果是,则将action键和value键设置为splitted array,否则只需将splitted value分别指定给key和value

var-arr=[
'查找({qty:{$lt:20}})',
“限制(5)”,
'跳过(0)'
]
var result={};
对于(变量i=0;idocument.write(JSON.stringify(result))
match
split
更适合这种东西

var-arr=[
'查找({qty:{$lt:20}})',
“限制(5)”,
'跳过(0)'
]
var obj={};
arr.forEach(函数(x,n){
var m=x.match(/(\w+)\(\s*(.+?)\s*\)/);
如果(n==0){
obj.action=m[1];
obj.value=m[2];
}否则
obj[m[1]]=m[2];
});

document.write(“+JSON.stringify(obj,0,3)) { "action": "find", "value": "{ qty: { $lt: 20 } }", "limit": 5, "skip": 0 }