现在我有两个像这样的数组
$arr1 = [{
fullname: 'Foo1',
info: {
age: 18,
country: 'HN'
}
},
{
fullname: 'Foo2',
info: {
age: 18,
country: 'HN'
}
}]
$arr2 = [{
fullname: 'Bar1',
info: {
age: 18,
country: 'HN'
}
},
{
fullname: 'Bar2',
info: {
age: 18,
country: 'HN'
}
}]
现在我想用$ arr2 [1]交换$ arr1 [0],但它没有用。 看我的代码
temp = $arr1[0];
$arr1[0] = $arr2[1];
$arr2[1] = temp;
当我在set = $ arr2 [1]之前和之后调试$ arr1 [1]时更改,但是当我设置$ arr1 [0] .fullname =" ABC&#34时,它没有更新;,它的更新。我无法解决这个问题。请帮帮我。
感谢您的帮助!
答案 0 :(得分:3)
根据您的原始代码段,您没有以基于索引的方式访问数组。 $arr1[1]
应为$arr1[0]
。以下代码应该可以使用。
temp = $arr1[0];
$arr1[0] = $arr2[1];
$arr2[1] = temp;
从技术上讲,使用临时变量tempVar
交换两个变量应该有效。请尝试使用console.log(angular.toJson($arr1));
调试变量值
答案 1 :(得分:0)
我尝试了以下代码。它对我来说很好。
$arr1 = [
{
fullname: 'Foo1',
info: {
age: 18,
country: 'HN'
}
},
{
fullname: 'Foo2',
info: {
age: 18,
country: 'HN'
}
}];
$arr2 = [{
fullname: 'Bar1',
info: {
age: 18,
country: 'HN'
}
},
{
fullname: 'Bar2',
info: {
age: 18,
country: 'HN'
}
}];
console.log($arr1[0]);
console.log($arr2[1]);
var temp = $arr1[0];
$arr1[0] = $arr2[1];
$arr2[1] = temp;
console.log($arr1[0]);
console.log($arr2[1]);
<强>输出强>
sandeep@pc:~/Documents/Angular/Snippets$ node snippets.js
{ fullname: 'Foo1', info: { age: 18, country: 'HN' } }
{ fullname: 'Bar2', info: { age: 18, country: 'HN' } }
{ fullname: 'Bar2', info: { age: 18, country: 'HN' } }
{ fullname: 'Foo1', info: { age: 18, country: 'HN' } }