无法将数据添加到从Cookie中取出的数组中。
var x1 =[];
if($cookies.get(uid )== undefined)
{
var arr =[];
arr.push($scope.stock);
$cookies.put("arr",JSON.stringify(arr));
$cookies.put("uid","xxx");
console.log("==uid not found in cookie in angular --- cookies.uid"+ $cookies.get("arr"));
}
else
{
console.log("inside else"+JSON.stringify($cookies.getObject("arr"))); // gives output ["bse:yesbank"]
x1= JSON.stringify($cookies.getObject("arr"));
----> console.log(x1 instanceof Array); // returns false
----> x1.push($scope.stock);
}
它给出了
x1.push不是函数
此外,它表示JSON.stringify($cookies.getObject("arr"))
不是数组,但上面表达式的值是["bse:yesbank"]
,它只是一个数组。请纠正我在哪里出错。
答案 0 :(得分:1)
那是因为你使用JSON.stringify
,将数组转换成一个看起来像数组的字符串。
尝试获取没有stringify的值:
x1= JSON.stringify(["test"]);
console.log(x1 instanceof Array); // returns false
console.log(JSON.parse(x1) instanceof Array); // returns true