防止变量的双向绑定

时间:2016-02-21 08:26:23

标签: javascript arrays

以下是我的代码:

var laData = [{fname:"India"}, {fname: "Germany"}];
function modifyData(iaData) {
    for (var i = 0; i < iaData.length; i += 1) {
        var loNode = {};
        loNode = iaData[i];
        loNode.states= [];
    }
}
modifyData(laData);

在输出中,我可以看到状态节点[{"fname":"India","states":[]},{"fname":"Germany","states":[]}]被附加到原始数组laData。

问题:如何阻止将“States”节点附加到laData?

2 个答案:

答案 0 :(得分:0)

您只需删除一行:

var laData = [{fname:"India"}, {fname: "Germany"}];
function modifyData(iaData) {
   for (var i = 0; i < iaData.length; i += 1) {
        var loNode = {};
        loNode = iaData[i];
        //loNode.states= []; <-- remove this line
    }
}
modifyData(laData);

注释行是向节点添加空数组的行。 如果你删除它,你将得到你想要的结构

答案 1 :(得分:0)

使用Jquery的解决方案。

var val = $.fn.dataTable.util.escapeRegex($('dropdown').val());

column.search( val ? '^'+val+'$' : '', true, false ).draw(); 

var sum = column.data().unique().sum();

alert(sum);

检查浏览器控制台以查看不同的输出。

enter image description here

您可以看到初始对象的输出没有附加状态。这是工作JSFiddle