Javascript 如何在ko.mapping.fromJS之后清除数组链接

Javascript 如何在ko.mapping.fromJS之后清除数组链接,javascript,knockout.js,Javascript,Knockout.js,下面是将一些js对象映射到模型的代码 ... self.mydata= ko.observable(ko.mapping.fromJS(jsonobj)); ... 在jsonobj内部,我有其他json数组属性(myarr属性) 我需要在更改后将此数据发送到WCF服务,但myarr必须为空 我下一步要做: var tempobj = ko.toJS(self.mydata); tempobj.myarr = null;//possible huge data

下面是将一些js对象映射到模型的代码

...
      self.mydata= ko.observable(ko.mapping.fromJS(jsonobj));
...
在jsonobj内部,我有其他json数组属性(myarr属性)

我需要在更改后将此数据发送到WCF服务,但myarr必须为空 我下一步要做:

var tempobj =  ko.toJS(self.mydata);
tempobj.myarr = null;//possible huge data         
        var data = { "p1": JSON.stringify(tempobj ) };
但在JSON.stringify(tempobj)之后,我看到mydata属性为空,但字符串值包含来自mydata数组的数据,看起来引用仍然存在。 如何删除所有这些数据

谢谢

更新1 它在*ko_mapping*属性中查找所有这些数据。

我已经做了一个简短的说明,但我不能完全确定您的意图。您正在尝试清除阵列还是将其从对象中删除

两者都是在提供的小提琴中完成的

var model = {
    p1: [
        { id: 1, text: 'one' },
        { id: 2, text: 'two' }
    ]
};

// do you mean clear the array before sending?
//model.p1 = [];

// or do you mean remove the array before sending?
//delete model.p1;

document.getElementById('json').innerText = ko.toJSON(model);

我已经找到了使用ko.mapping.toJS insetted ko.toJS的解决方案

是否有机会使用?您好,我的意思是在发送model.p1=[]之前清除数组。但是在您的示例中,您没有使用ko.observable(ko.mapping.fromJS(jsonobj));这是可行的,不太清楚你在这里做什么,
ko。映射为你创建了可观察的对象,所以把它放在可观察的对象中是不正确的。您能提供一个简化的JSON示例来导出您的模型吗?我需要从模型中获取JSON对象(清晰可见)。但看起来我找到了我需要的解决方案使用ko.mapping.toJS插入ko.toJS什么模型???你的模特长什么样???你没有提供足够的信息,所以我不知道你的模型是什么样子。