javascript - 从数组创建自定义对象

标签 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 result = arr[i].split("(");
            result = result[1].slice(0, -1))
        }
    }

预期输出

 {
      "action": "find",
      "value": "{ qty: { $lt: 20 } }",
      "limit": 5,
      "skip": 0
    }

最佳答案

match 在这种情况下比 split

var arr = [
  'find({ qty: { $lt: 20 } } )',
  'limit(5)',
  'skip(0)'
]


var obj = {};

arr.forEach(function(x, n) {
  var m = x.match(/(\w+)\(\s*(.+?)\s*\)/);
  if(n == 0) {
    obj.action = m[1];
    obj.value = m[2];
  } else
    obj[m[1]] = m[2];
    
});

document.write("<pre>" + JSON.stringify(obj,0,3));

关于javascript - 从数组创建自定义对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29026688/

相关文章:

javascript - 使用 jQuery 更改 html 文档的类

c++ - 整个数组可能驻留在某个 cpu 寄存器中吗?

javascript - new Array(20) 实际上做了什么

javascript - 基于 json 对象显示数据不起作用

javascript - 如何在 JQuery 中将 HTML 数据属性转换为 JSON?

javascript - 为什么在 jQuery 中同时调用 if 和 else 条件?

javascript - jQuery beforeunload 事件未在后退按钮上触发

arrays - 在 2D numpy 数组内绘制矩形

java - 我想用 jackson 迭代一个大的 Json 属性和子属性名称

java - Spring REST 所需的 JSON 到 Java 对象映射