在Javascript中合并两个数组的正确方法是什么?
我有两个数组(例如):
var a1 = [{ id : 1, name : "test"}, { id : 2, name : "test2"}]
var a2 = [{ id : 1, count : "1"}, {id : 2, count : "2"}]
Run Code Online (Sandbox Code Playgroud)
我希望能够得到类似的东西:
var a3 = [{ id : 1, name : "test", count : "1"},
{ id : 2, name : "test2", count : "2"}]
Run Code Online (Sandbox Code Playgroud)
基于'id'字段连接两个数组的位置,简单地添加额外数据.
我尝试使用_.union它,但它只是将第二个数组中的值覆盖到第一个数组中
是否可以使用Schema引用Mongo中的另一个Schema?
我有以下内容,我希望Line模式中的用户成为UserSchema中的用户
var UserSchema = new Schema({
name: {type: String, required: true},
screen_name: {type: String, required: true, index:{unique:true}},
email: {type: String, required: true, unique:true},
created_at: {type: Date, required: true, default: Date}
});
var LineSchema = new Schema({
user: [UserSchema],
text: String,
entered_at: {type: Date, required: true, default: Date}
});
var StorySchema = new Schema ({
sid: {type: String, unique: true, required: true},
maxlines: {type: Number, default: 10}, // Max number of lines per user
title: {type: String, default: 'Select here …Run Code Online (Sandbox Code Playgroud) 有没有办法确保在运行下一个函数之前完成for循环?
我有一个场景,用户会看到一个用户列表,他们可以选择这些用户的X号码,一旦他们按下"完成"给每个被选中的用户,我就会调用REST API服务来获取更多信息.要添加到"用户"数组的所选用户.
但是正在发生的事情是在for循环看起来在它完成之前运行之后放置的任何东西,因此有用户缺少它
示例代码如下:
function doCreateStory() {
var users = [];
// Add logged in user as creator
users.push({
"id" : user_id,
"creator" : true
});
// Add all checked users
for (var i = 0, len = items.length; i < len; i++) {
if (items[i].properties.accessoryType == Ti.UI.LIST_ACCESSORY_TYPE_CHECKMARK) {
api.UserSearch({
"method" : "facebook",
"id" : items[i].properties.id
}, function(success, res, code) {
if (success == 1) {
users.push({
"id" : res.message._id,
"creator" : false
});
} else {
// Its …Run Code Online (Sandbox Code Playgroud)