Can';我不明白为什么数据表数据会在JavaScript函数中被修改
我有一些问题要弄清楚为什么我的数据会被修改。我试图用Can';我不明白为什么数据表数据会在JavaScript函数中被修改,javascript,jquery,datatable,datatables,constants,Javascript,Jquery,Datatable,Datatables,Constants,我有一些问题要弄清楚为什么我的数据会被修改。我试图用const将变量设置为常量,但它什么也没改变 在下面的代码中,我尝试将它放入一个对象中并冻结它,但它也不起作用 这是我的密码: jQuery(document).ready(function($) { CONST = { //try to create an object to freeze the data DATATABLE:$('#datatableFrais').DataTable().rows().data() }; Object
const
将变量设置为常量,但它什么也没改变
在下面的代码中,我尝试将它放入一个对象中并冻结它,但它也不起作用
这是我的密码:
jQuery(document).ready(function($) {
CONST = { //try to create an object to freeze the data
DATATABLE:$('#datatableFrais').DataTable().rows().data()
};
Object.freeze(CONST);
console.log(CONST);
});
function recupereData(){
var csvData=[]; //the full data in arrays
var entete=[]; //first line of my csv file
var txtData=""; //the string that will contain my file
var sepCol = arguments.sepCol|| ';'; //Column delimiter
var sepLig = arguments.sepLig || '\n'; //Rows delimiter
$('#datatabletFrais thead th').each(function(index, el) {
// i get the header from my datatable
var elem=$(el);
entete.push(elem.text());
})
entete=entete.slice(0,-2);
csvData.push(entete);
$.each(CONST.DATATABLE, function(index, val) {
// The problem is here
csvData.push(val);
csvData[index+1].splice(-2,2); // cut the 2 last columns
});
$.each(csvData,function(index, val) {
$.each(val, function(cle, valeur) {
txtData+=valeur;
txtData+=sepCol;
});
txtData+=sepLig;
});
console.log(csvData);
console.log(txtData);
return txtData;
}
我第一次运行函数时,它工作正常,但当我再次尝试运行它时,它使用了修改后的变量,并且在我的csv文件中删除了4列
感谢您的帮助您是否测试了
object.freeze()
是否可以实现,并按照您的预期工作?我从未使用过它-DATATABLE:$.extend({},table.rows().data())
会起作用。所以我尝试过:CONST={DATATABLE2:.extend({},$('.\datatableFrais').DATATABLE().rows().data())代码>但它不起作用,这个对象冻结在这个例子中起作用:但对我不起作用…你测试过object.freeze()
是否可以实现,并且按照你的预期工作吗?我从未使用过它-DATATABLE:$.extend({},table.rows().data())
会起作用。所以我尝试过:CONST={DATATABLE2:.extend({},$('.\datatableFrais').DATATABLE().rows().data())代码>但它不起作用,这个对象冻结在这个例子中起作用:但对我不起作用。。。