Arrays Angularjs数组推送不工作

Arrays Angularjs数组推送不工作,arrays,angularjs,push,Arrays,Angularjs,Push,我试图将一个无序字符串数组推送到我的scope变量中,但有些人认为它会对重复的数组值抛出错误。这以前从未发生过 下面是我的代码片段。您可以检查控制台是否存在错误: var-app=angular.module('ABCD',[]); app.controller('ABCDController',['$scope', 职能($范围){ $scope.start_word=['C','A','T']; $scope.word=[ ['C','A','T'] ]; $scope.shuffle=函

我试图将一个无序字符串数组推送到我的scope变量中,但有些人认为它会对重复的数组值抛出错误。这以前从未发生过

下面是我的代码片段。您可以检查控制台是否存在错误:

var-app=angular.module('ABCD',[]);
app.controller('ABCDController',['$scope',
职能($范围){
$scope.start_word=['C','A','T'];
$scope.word=[
['C','A','T']
];
$scope.shuffle=函数(){
var shuffle_word=shuffle($scope.word[0]);
log(“SHUFFLED变量:”+shuffle\u word);
log(“范围变量:+$SCOPE.word”);
$scope.word.push(shuffle\u word);
};
}
]);
函数洗牌(o){
对于(var j,x,i=o.length;i;j=parseInt(Math.random()*i),x=o[--i],o[i]=o[j],o[j]=x);
返回o;
};

洗牌
起始字:{{START_WORD}}

无序字:{{value}


或许可以尝试在word数组中包含word对象,例如:

$scope.word[{num:0,word:'CAT'},{num:1,word:'ACT'}];

也许可以尝试在word数组中使用word对象,例如:

$scope.word[{num:0,word:'CAT'},{num:1,word:'ACT'}];

也许可以尝试在word数组中使用word对象,例如:

$scope.word[{num:0,word:'CAT'},{num:1,word:'ACT'}];

也许可以尝试在word数组中使用word对象,例如:

$scope.word[{num:0,word:'CAT'},{num:1,word:'ACT'}];

您正在洗牌原始单词并创建两个相同的值。使用单词的临时副本,如下所示。编辑:显示复制数组的技巧

var-app=angular.module('ABCD',[]);
app.controller('ABCDController',['$scope',
职能($范围){
$scope.start_word=['C','A','T'];
$scope.word=[
['C','A','T']
];
$scope.shuffle=函数(){
var tmpWord=$scope.word[0].slice();//创建一个副本
var shuffle_word=shuffle(tmpWord);
log(“SHUFFLED变量:”+shuffle\u word);
log(“范围变量:+$SCOPE.word”);
$scope.word.push(shuffle\u word);
log($scope.word);
};
}
]);
函数洗牌(o){
对于(var j,x,i=o.length;i;j=parseInt(Math.random()*i),x=o[--i],o[i]=o[j],o[j]=x);
返回o;
};

洗牌
起始字:{{START_WORD}}

无序字:{{value}


您正在洗牌原始单词并创建两个相同的值。使用单词的临时副本,如下所示。编辑:显示复制数组的技巧

var-app=angular.module('ABCD',[]);
app.controller('ABCDController',['$scope',
职能($范围){
$scope.start_word=['C','A','T'];
$scope.word=[
['C','A','T']
];
$scope.shuffle=函数(){
var tmpWord=$scope.word[0].slice();//创建一个副本
var shuffle_word=shuffle(tmpWord);
log(“SHUFFLED变量:”+shuffle\u word);
log(“范围变量:+$SCOPE.word”);
$scope.word.push(shuffle\u word);
log($scope.word);
};
}
]);
函数洗牌(o){
对于(var j,x,i=o.length;i;j=parseInt(Math.random()*i),x=o[--i],o[i]=o[j],o[j]=x);
返回o;
};

洗牌
起始字:{{START_WORD}}

无序字:{{value}


您正在洗牌原始单词并创建两个相同的值。使用单词的临时副本,如下所示。编辑:显示复制数组的技巧

var-app=angular.module('ABCD',[]);
app.controller('ABCDController',['$scope',
职能($范围){
$scope.start_word=['C','A','T'];
$scope.word=[
['C','A','T']
];
$scope.shuffle=函数(){
var tmpWord=$scope.word[0].slice();//创建一个副本
var shuffle_word=shuffle(tmpWord);
log(“SHUFFLED变量:”+shuffle\u word);
log(“范围变量:+$SCOPE.word”);
$scope.word.push(shuffle\u word);
log($scope.word);
};
}
]);
函数洗牌(o){
对于(var j,x,i=o.length;i;j=parseInt(Math.random()*i),x=o[--i],o[i]=o[j],o[j]=x);
返回o;
};

洗牌
起始字:{{START_WORD}}

无序字:{{value}


您正在洗牌原始单词并创建两个相同的值。使用单词的临时副本,如下所示。编辑:显示复制数组的技巧

var-app=angular.module('ABCD',[]);
app.controller('ABCDController',['$scope',
职能($范围){
$scope.start_word=['C','A','T'];
$scope.word=[
['C','A','T']
];
$scope.shuffle=函数(){
var tmpWord=$scope.word[0].slice();//创建一个副本
var shuffle_word=shuffle(tmpWord);
log(“SHUFFLED变量:”+shuffle\u word);
log(“范围变量:+$SCOPE.word”);
$scope.word.push(shuffle\u word);
log($scope.word);
};
}
]);
函数洗牌(o){
对于(var j,x,i=o.length;i;j=parseInt(Math.random()*i),x=o[--i],o[i]=o[j],o[j]=x);
返回o;
};

洗牌
起始字:{{START_WORD}}

无序字:{{value}


您从不重置
word
数组,因此每次对
Shuffle()
的新调用都会添加到数组中,而不仅仅是替换数组的内容

$scope.shuffle = function() {
  var shuffle_word = Shuffle($scope.word[0]);
  console.log("SHUFFLED VARIABLE: " + shuffle_word);
  console.log("SCOPE VARIABLE: " + $scope.word);
  $scope.word = []; //clear the previous array elements
  $scope.word.push(shuffle_word);
};
或者是一个完整的片段(注意我把单词改成了“catalog”)

var-app=angular.module('ABCD',[]);
app.controller('ABCDController',['$scope',
职能($范围){
$scope.start_word=['C','A','T','A','L','O','G'];
$scope.word=[
[C',A',T',A',L',O',G']
];
$scope.shuffle=函数(){
var shuffle_word=shuffle($scope.word[0]);
log(“SHUFFLED变量:”+shuffle\u word);
log(“范围变量:+$SCOPE.word”);
$scope.word=