Javascript 如果另一个数组中有数据,如何推送数组中的数据

Javascript 如果另一个数组中有数据,如何推送数组中的数据,javascript,jquery,arrays,jquery-select2,Javascript,Jquery,Arrays,Jquery Select2,好吧,我知道这对一些人来说可能很简单,但我尝试了几个小时,直到现在都没有成功 如果我在这个数组中有数据 var tDataValues = { id: "TenantID", text: "FullName", username: "Username", cnic: 'CNIC' } 我将这个变量发送到函数 commonSelect2Templating(selector,url,tDataValues,minInputLength,placeholder);

好吧,我知道这对一些人来说可能很简单,但我尝试了几个小时,直到现在都没有成功

如果我在这个数组中有数据

var tDataValues = {
    id: "TenantID",
    text: "FullName",
    username: "Username",
    cnic: 'CNIC'
}
我将这个变量发送到函数

commonSelect2Templating(selector,url,tDataValues,minInputLength,placeholder);
注意:我正在使用Jquery Select2(如果它能帮助我理解问题,请共享)

然后在结果部分的函数中,我尝试赋值

    results: function(data, page) {
        var newData = [];
        var length = data.length + 1;
        for(var i = 0; i<=length; i++){

        }
        $.each(data, function (index,value) {
            newData.push({
                id: value[tDataValues.id],  //id part present in data
                text: value[tDataValues.text]  //string to be displayed
            });
        });
        return { results: newData };
    }
来解决问题: 现在所有的魔法都在这里发生

$.each(data, function (index,value) {
    newData.push({
        id: value[tDataValues.id],  //id part present in data
        text: value[tDataValues.text]  //string to be displayed
    });
它告诉代码哪个是id,哪个是文本,它工作得非常好

现在的问题是,我要做的函数是select2的公共函数, 若我从数据库中得到了更多的值,比如现在我从数据库中得到了如何创建一个循环,并将这些值一个接一个地设置为其适当的上下文。 e-g
tDataValues
保存字段名
cnic
,服务器正在发送字段名
cnic
那么如何做一个循环,如果cnic同时存在于两者中,那么它应该简单地分配

我可以手动完成

newData.push({
cnic: value[tDataValues.cnic]

        });
但像这样,它不可能是一个共同的功能

我不能简单地就如何实现这一点提出逻辑。尝试了几个小时,但迄今为止没有成功:(

尝试:

for(var key in tDataValues) {
    newData.push({ key: value[tDataValues[key]]});
}
更新:

然后首先创建一个对象并将其推送到阵列:

for(var key in tDataValues) {
  var obj = {};
  obj[key] = value[tDataValues[key]];
  newData.push(obj);
}
尝试:

更新:

然后首先创建一个对象并将其推送到阵列:

for(var key in tDataValues) {
  var obj = {};
  obj[key] = value[tDataValues[key]];
  newData.push(obj);
}
尝试:

更新:

然后首先创建一个对象并将其推送到阵列:

for(var key in tDataValues) {
  var obj = {};
  obj[key] = value[tDataValues[key]];
  newData.push(obj);
}
尝试:

更新:

然后首先创建一个对象并将其推送到阵列:

for(var key in tDataValues) {
  var obj = {};
  obj[key] = value[tDataValues[key]];
  newData.push(obj);
}

检查这个,希望它有帮助

  var mainData =[{"TenantID":"13","FullName":"Rameez Hassana","Username":"Rameez","CNIC":"16141-6321136-1"},{"TenantID":"14","FullName":"Syed Haider Hassan","Username":"pakistanihaider","CNIC":"17301-5856870-1"},{"TenantID":"15","FullName":"Demo Tenant No 1","Username":"tn1","CNIC":"15165-6156685-6"}];

var newData =[];

for(var i =0;i<mainData.length;i++){ 
    for(var key in mainData[i]) { 
        var tempObj ={}; 
        tempObj[key] = mainData[i][key];
        newData.push(tempObj);
    }   
}
var mainData=[{“TenantID”:“13”,“全名”:“Rameez Hassana”,“用户名”:“Rameez”,“CNIC”:“16141-6321136-1”},{“TenantID”:“14”,“全名”:“Syed Haider Hassan”,“用户名”:“巴基斯坦海德尔”,“CNIC”:“17301-5856870-1”},{“TenantID”:“15”,“全名”:“演示租户1”,“用户名”:“tn1”,“CNIC”:“15165-615685-6”};
var newData=[];

对于(var i=0;i检查此项,希望它有帮助

  var mainData =[{"TenantID":"13","FullName":"Rameez Hassana","Username":"Rameez","CNIC":"16141-6321136-1"},{"TenantID":"14","FullName":"Syed Haider Hassan","Username":"pakistanihaider","CNIC":"17301-5856870-1"},{"TenantID":"15","FullName":"Demo Tenant No 1","Username":"tn1","CNIC":"15165-6156685-6"}];

var newData =[];

for(var i =0;i<mainData.length;i++){ 
    for(var key in mainData[i]) { 
        var tempObj ={}; 
        tempObj[key] = mainData[i][key];
        newData.push(tempObj);
    }   
}
var mainData=[{“TenantID”:“13”,“全名”:“Rameez Hassana”,“用户名”:“Rameez”,“CNIC”:“16141-6321136-1”},{“TenantID”:“14”,“全名”:“Syed Haider Hassan”,“用户名”:“巴基斯坦海德尔”,“CNIC”:“17301-5856870-1”},{“TenantID”:“15”,“全名”:“演示租户1”,“用户名”:“tn1”,“CNIC”:“15165-615685-6”};
var newData=[];

对于(var i=0;i检查此项,希望它有帮助

  var mainData =[{"TenantID":"13","FullName":"Rameez Hassana","Username":"Rameez","CNIC":"16141-6321136-1"},{"TenantID":"14","FullName":"Syed Haider Hassan","Username":"pakistanihaider","CNIC":"17301-5856870-1"},{"TenantID":"15","FullName":"Demo Tenant No 1","Username":"tn1","CNIC":"15165-6156685-6"}];

var newData =[];

for(var i =0;i<mainData.length;i++){ 
    for(var key in mainData[i]) { 
        var tempObj ={}; 
        tempObj[key] = mainData[i][key];
        newData.push(tempObj);
    }   
}
var mainData=[{“TenantID”:“13”,“全名”:“Rameez Hassana”,“用户名”:“Rameez”,“CNIC”:“16141-6321136-1”},{“TenantID”:“14”,“全名”:“Syed Haider Hassan”,“用户名”:“巴基斯坦海德尔”,“CNIC”:“17301-5856870-1”},{“TenantID”:“15”,“全名”:“演示租户1”,“用户名”:“tn1”,“CNIC”:“15165-615685-6”};
var newData=[];

对于(var i=0;i检查此项,希望它有帮助

  var mainData =[{"TenantID":"13","FullName":"Rameez Hassana","Username":"Rameez","CNIC":"16141-6321136-1"},{"TenantID":"14","FullName":"Syed Haider Hassan","Username":"pakistanihaider","CNIC":"17301-5856870-1"},{"TenantID":"15","FullName":"Demo Tenant No 1","Username":"tn1","CNIC":"15165-6156685-6"}];

var newData =[];

for(var i =0;i<mainData.length;i++){ 
    for(var key in mainData[i]) { 
        var tempObj ={}; 
        tempObj[key] = mainData[i][key];
        newData.push(tempObj);
    }   
}
var mainData=[{“TenantID”:“13”,“全名”:“Rameez Hassana”,“用户名”:“Rameez”,“CNIC”:“16141-6321136-1”},{“TenantID”:“14”,“全名”:“Syed Haider Hassan”,“用户名”:“巴基斯坦海德尔”,“CNIC”:“17301-5856870-1”},{“TenantID”:“15”,“全名”:“演示租户1”,“用户名”:“tn1”,“CNIC”:“15165-615685-6”};
var newData=[];

对于(var i=0;i
tDataValues
是对象,不是数组。
tDataValues
是对象,不是数组。
tDataValues
是对象,不是数组。
tDataValues
是对象,不是数组。谢谢,这是一个非常好的答案,太棒了,因为当我尝试使用console.log-like
con输出时,它显示了非常具体的数据sole.log(key+':'+value[tDataValues[key]];
,但问题是使用
newData.push({key:value[tDataValues[key]]});
它没有得到索引的键值,它只是把键值作为静态的,我得到结果。
[{“key”:“13”},{“key”:“Rameez Hassana”},{“key”:“Rameez”},{“key”:“key”:“16141-6321136-1”},{“key”:“key”:“key”:“14”},{“key”},{“赛义德·海德尔·哈桑”},{“键”:“巴基斯坦海德尔”},{“键”:“17301-5856870-1”},{“键”:“15”},{“键”:“演示租户1号”},{“键”:“tn1”},{“键”:“15165-6156685-6”}]
我需要对你的代码做一些修改,我的问题就解决了。你太棒了。谢谢。再次非常感谢。谢谢,这是一个非常棒的答案,太棒了,因为当我尝试使用console.log类似于
console.log(key+):“+value[tDataValues[key]]输出时,它显示了非常具体的数据
,但问题是使用
newData.push({key:value[tDataValues[key]]});
它没有得到索引的键值,它只是把键值作为静态的,我在结果中得到它。
[{“key”:“13”},{“key”:“Rameez Hassana”},{“key”:“Rameez”},{“key”:“16141-6321136-1”},{“key”:“14”},{“key”:“Syed nider Hassan”},{“key”:“pakistahaider密钥“:”17301-5856870-1“},{”密钥“:”15“},{”密钥“:”演示租户编号1“},{”密钥“:”tn1“},{”密钥“:”15165-6156685-6“}]
我需要对你的代码做一些修改,我的问题就解决了。你太棒了。谢谢。再次非常感谢。谢谢,这是一个非常棒的答案,太棒了,因为当我尝试使用console.log类似于
console.log(key+):“+value[tDataValues[key]]输出时,它显示了非常具体的数据
,但问题是使用
newData.push({key:value[tDataValues[key]]});
它没有得到索引的键值,它只是把键值作为静态的,我在结果中得到它。
[{“key”:“13”},{“key”:“Rameez Hassana”},{“key”:“Rameez”},{“key”:“16141-6321136-1”},{“key”:“14”},{“key”:“Syed nider Hassan”},{“key”:“pakistahaider密钥“:”17301-5856870-1“},{”密钥“:”15“},{”密钥“:”演示租户编号1“},{”密钥“:”tn1“},{”密钥“:”15165-6156685-6“}]
我需要对你的代码做一些修改,我的问题就解决了。你太棒了。谢谢。再次非常感谢。谢谢,这是一个非常棒的答案,太棒了,因为当我尝试使用console.log类似于
console.log(key+):“+value[tDataValues[key]]输出时,它显示了非常具体的数据;
,但问题是使用
newData.push({key:value[tDataValues[key]]});
它没有获取索引的键值,它只是将键放为静态,然后