我正在尝试使用for循环来访问数组,以访问数据库中的某些记录,然后将某些DB字段的内容与文本组合以创建每个数组元素。这就是我所拥有的:
var numbers = [7,8];
var phsw = [];
for (var i=0,len=numbers.length;i<len;i++) {
selectObj = cObj.select().from("wp_posts").where('ID=?', numbers[i]);
result1 = cObj.exec(selectObj);
var resource = result1[0].guid;
var title = result1[0].post_title;
var tnTxt = result1[0].post_title;
var tn = resource.replace(/\.jpg/,"-150x150.jpg");
phsw.push({mytitle:'" + title + "', mythumbnail:'" + tn + "', mytntxt:'" + tnTxt + "', myresource:'" + resource +"'});
}
这创建了我认为的数组,除了它显然不是一个数组。当我使用console.log(phsw)查看其中的内容时,我得到了这个:
[{mytitle:'title',mythumbnail:'imagefile1tnlink',mytntxt:'thumbtxt1',myresource:'imagefile1link'},{mytitle:'title2',mythumbnail:'imagefile2tnlink',mytntxt:'thumbtxt2',myresource : 'imagefile2link'}]
我应该得到这个:
[object Object]
如果它真的是一个数组(对吗?)。
我在Application Craft中使用它,并且使用服务器端javascript创建phsw数组,然后将其传递给应用程序端的回调,但是当它返回到应用程序端时,我无法使用它填充一个小部件,因为它不是一个真正的数组。我怎样才能确保phsw是一个数组?
是的,我确信这段代码不是最干净或最有效的方法;我的(相当生疏)经验是PHP和MySQL而不是javascript,所以我总是乐于接受更好的做事方式的建议!
答案 0 :(得分:0)
没有一切都是正确的。它实际上是一个包含2个对象的数组。
您希望获得[object Object]是错误的。