1
这是我的代码JavaScript的每个覆盖数组对象
$(function() {
var sqlTable = [
{
name: 'a',
TagName: 'a_1'
},
{
name: 'b',
TagName: 'b_1'
}
];
var hbaseTable = [
{
TagName: 'a_12015',
Tvalue: '1'
},
{
TagName: 'a_12016',
Tvalue: '2'
},
{
TagName: 'b_12015',
Tvalue: '1'
},
{
TagName: 'b_12016',
Tvalue: '3'
}
];
var new_result = temp(sqlTable, hbaseTable);
function temp(a, b) {
var new_result2 = [];
var k = 0;
for (var i=0; i<a.length; i++) {
var sql_value = a[i];
var tag_name = sql_value.TagName;
for (var j=0; j<b.length; j++) {
var hbase_value = b[j];
var hbase_tag = hbase_value.TagName;
var hbase_tvalue = '';
var hbase_tag_name = '';
console.log('/', hbase_tag + ', ' + tag_name);
if (hbase_tag.indexOf(tag_name) > -1)
{
var t_sql_value = sql_value;
hbase_tvalue = hbase_value.Tvalue;
hbase_tag_name = hbase_value.TagName;
t_sql_value.hbase_tvalue = hbase_tvalue;
t_sql_value.hbase_tag_name = hbase_tag_name;
new_result2.push(t_sql_value);
k++;
}
}
}
return new_result2;
}
console.log('new_result', new_result);
});
我想结果是
0: Object
TagName: "a_1"
hbase_tag_name: "a_12016"
hbase_tvalue: "1"
name: "a"
__proto__: Object
1: Object
TagName: "a_1"
hbase_tag_name: "a_12016"
hbase_tvalue: "2"
name: "a"
__proto__: Object
2: Object
TagName: "b_1"
hbase_tag_name: "b_12016"
hbase_tvalue: "1"
name: "b"
__proto__: Object
3: Object
TagName: "b_1"
hbase_tag_name: "b_12016"
hbase_tvalue: "3"
name: "b"
但我送花儿给人得到的结果是
0: Object
TagName: "a_1"
hbase_tag_name: "a_12016"
hbase_tvalue: "2"
name: "a"
__proto__: Object
1: Object
TagName: "a_1"
hbase_tag_name: "a_12016"
hbase_tvalue: "2"
name: "a"
__proto__: Object
2: Object
TagName: "b_1"
hbase_tag_name: "b_12016"
hbase_tvalue: "3"
name: "b"
__proto__: Object
3: Object
TagName: "b_1"
hbase_tag_name: "b_12016"
hbase_tvalue: "3"
name: "b"
这是我JSFiddle
我相信这是因为对象引用变量。所以'b [j]'将保存最后一个值。 – Rajesh