angular,,以及深度拷贝问题;JSON.parse,JSON.stringify灵活运用

问题:

$scope.list = [];$scope.listTree = {};$scope.dataTree = [];
//获取listTree的数据$scope.getList = function () {    serviceStruct.getAll({},path).then(function (res) {        $scope.listTree = res.data || res.data.result;        getGroup($scope.listTree);    }).then(function(){        $scope.load = true;    });}省略若干……………………………………………………
list,dataTree数组的数据都是从listTree数据中push;现改变list数据,listTree,dataTree的数据也会被更改,解决此问题就考虑到slice拷贝,亲测不好使,咱没分析原因,另外一种解决方案如下图:JSON.parse1,JSON.stringify灵活运用,简单实现了slice拷贝

原文地址:https://www.cnblogs.com/janice-jia/p/9023378.html

时间: 2024-10-11 07:35:35

angular,,以及深度拷贝问题;JSON.parse,JSON.stringify灵活运用的相关文章

关于vue中JSON.parse(JSON.stringify(...))使用深拷贝问题

一般我们单独用JSON.parse()或JSON.stringify() 今天在学vue看到JSON.parse(JSON.stringify(...))的用法,这里研究一下: 首先分别说下他们的用法: JSON.parse()  是将字符串中的对象解析出来 例:  var str = "{'name':'huahua','age':'22'}";  JSON.parse(str); var obj = {name:"hua",age: 26};  JSON.str

JSON.parse JSON.stringify

JSON.stringify() undefined 值.函数或者XML值会被忽略 数组当中含有 undefined值,函数或XML值,该数组中的这些值将会被当成 null 正则对象会被转成空对象 JSON.stringify 方法会忽略对象的不可遍历属性 JSON.stringify 方法会忽略对象的不可遍历属性 JSON.stringify方法还可以接受一个数组参数,指定需要转成字符串的属性. JSON.stringify 方法还可以接受一个函数作为参数,用来更改默认的字符串化的行为. JS

JSON.parse()——json转JS

JSON 通常用于与服务端交换数据. 在接收服务器数据时一般是字符串. 我们可以使用 JSON.parse() 方法将数据转换为 JavaScript 对象. 语法 JSON.parse(text[, reviver]) 参数说明: text:必需, 一个有效的 JSON 字符串. reviver: 可选,一个转换结果的函数, 将为对象的每个成员调用此函数. JSON 解析实例 例如我们从服务器接收了以下数据: { "name":"runoob", "al

JSON.parse(),JSON.stringify(),jQuery.parseJSON()的用法

摘自:https://www.cnblogs.com/whh412/p/5627088.html 1. JSON.parse(jsonString): 在一个字符串中解析出JSON对象 1 2 3 var str = '[{"href":"baidu.com","text":"test","orgId":123,"dataType":"curry","act

关于JSON.stringify()与JSON.parse()

一.JSON.stringify()与JSON.parse()的区别 JSON.stringify()的作用是将js值转换成JSON字符串,而JSON.parse()是将JSON字符串转换成一个对象.也就是说,如果我们用JSON.stringify()将一个对象变成了字符串,那么使用JSON.parse()将字符串还原成对象. let obj = { name:"song", age:10 }; let changeObj =JSON.stringify(obj); console.l

浅谈JSON.parse()、JSON.stringify()和eval()的作用

相信大家对于JSON应该不陌生,度娘对这个名词的解释大致如下: “JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集.因为采用独立于语言的文本格式,也使用了类似于C语言家族的习惯,拥有了这些特性使JSON成为理想的数据交换语言,作用是易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率).” 今天在这里笔者想简单谈谈jquery里面的JSON.parse()和JSON.stringify()函数,顺便

JSON.parse() 方法解析一个JSON字符串

JSON.parse() 方法解析一个JSON字符串,构造由字符串描述的JavaScript值或对象.可以提供可选的reviver函数以在返回之前对所得到的对象执行变换. 语法EDIT JSON.parse(text[, reviver]) 参数 text 要被解析成JavaSctipt值的字符串,查看 JSON 对象学习的JSON 语法的说明. reviver 可选 如果是一个函数,则规定了原始值如何被解析改造,在被返回之前. 返回值 Object对应给定的JSON文本. 异常 若被解析的 J

JSON.stringify,JSON.parse方法

var obj={name:'zhangsan',age:'18'};/** js对象--->JSON字符串* JSON.stringify(js对象) --转化为--> JSON字符串* */console.log(obj);//Object {name: "zhangsan", age: "18"}console.log(JSON.stringify(obj));//{"name":"zhangsan",&qu

eval、json.parse()的介绍和使用注意点

eval和json.parse的使用 eval:来源于官网 定义和用法 eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码. 语法:  eval(string) 参数 描述 string 必需.要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句. 返回值 通过计算 string 得到的值(如果有的话). 说明 该方法只接受原始字符串作为参数,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回.因此请不要为 eval() 函