node.jsjoin – 来自php implode

我在PHP中有以下代码:

$IDs = implode(",", array_keys($result["matches"])); $sql = "SELECT * FROM table WHERE id IN ($IDs)"; 

我是“翻译”到Node.js,我想这个implode成为array.join,所以我试过这个:

 var ids = Object.keys(answer['matches']).join(","); var sql = "SELECT * FROM xml_it WHERE id IN (" + ids + ")"; 

现在,如果我回显PHP $ sqlvariables,我得到预期的结果:

 SELECT * FROM table WHERE id IN (3187,3220,3233,3245,3246,3251,3253,3256, ... 

但是,与node.js,我得到这个:

 SELECT * FROM xml_it WHERE id_xml IN ([0,1,2,3,4, ... 

答案['匹配']显然是相同的结果(它基本上是一个狮身人面像的search结果)

任何想法,为什么我不把它作为一个string,而是作为对象?

提前致谢。

我想你需要使用Object.keys(obj)来镜像array_keys作用。

现在你抓住了整个物体,而不仅仅是钥匙。

Interesting Posts