【问题标题】:Javascript array to enumJavascript数组枚举
【发布时间】:2016-11-07 13:41:25
【问题描述】:

我需要从 javascript 数组构建一个枚举。 (我需要它来填充查询)

var myArray = [113214, 432423, 65465, 65654]; //something like this
var enum = ('113214', '432423', '65465', '65654'); //into something like this

然后使用枚举变量作为参数来填充我的查询,如下所示:

SELECT * ... WHERE id IN (enum);

此时我的查询看起来像

SELECT * ... WHERE id IN ([0934ED47E088, 0CEAC518, 3F01267E1368]);

我需要每个字符串的单引号,并且不需要括号。

任何想法如何做到这一点?

【问题讨论】:

  • 您能否添加具体用法以了解您需要什么?
  • 在这种情况下,“枚举”是什么意思?通常,“枚举”具有映射到值的符号名称(有时隐式值通常以 0 开头,其他时候显式给出),但您的示例伪代码似乎没有这样做......
  • javascript 中的枚举是什么?
  • 查询结果如何?
  • JS 没有枚举。您可以做的最接近的是将您的枚举值作为键的对象。根据使用的编辑器,甚至可能会为这些值添加自动完成功能。但仅此而已。

标签: javascript arrays enums


【解决方案1】:

您可以迭代数组并在值周围用单引号构建一个字符串。

var myArray = [113214, 432423, 65465, 65654, 'abc'],
    stringified = myArray.map(function (a) {
        return '\'' + a + '\'';
    }).join(', '),
    query = 'SELECT * ... WHERE id IN (' + stringified + ');'

console.log(query);

【讨论】:

    猜你喜欢
    • 2011-03-22
    • 2013-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-16
    • 2018-06-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多