如何将数组复制到数组
how to copy array to array
var ce_info=[
{location:"inchannel",name:"Jae Jung",volume:"50",url:"img/jae.jpeg",group:1},
{location:"inchannel",name:"Houston",volume:"50",url:"img/houston.jpeg",group:1},
{location:"inchannel",name:"Jun kuriha..",volume:"50",url:"img/jun.jpeg",group:1},
{location:"inchannel",name:"Andrea Melle",volume:"50",url:"img/andrea.jpeg",group:0},
{location:"inchannel",name:"Tomoaki Ohi..",volume:"50",url:"img/ohira.jpeg",group:0},
{location:"inchannel",name:"Woosuk Cha..",volume:"50",url:"img/woosuk.jpeg",group:0},
{location:"inchannel",name:"Luca Rigaz..",volume:"50",url:"img/luca.jpeg",group:0},
{location:"inchannel",name:"SooIn Nam",volume:"50",url:"img/sooin.jpeg",group:0}
];
var inch_info=[{location:"ichat",name:"",volume:"50",url:""}];
for(i=0;i<ce_info.length;i++)
{
if(ce_info[i].location=="inchat")
{
inch_info[inchat_count].name=ce_info[i].name;
inch_info[inchat_count].url=ce_info[i].url;
inchat_count++;
}
}
我正在尝试将ce_info复制到inch_info。似乎它不起作用。当我尝试将ce_info复制到inch_info时出现错误有什么想法吗?
复制本机 JS 数组很容易。使用 Array.slice()
方法创建数组部分/全部的副本。
var foo = ['a','b','c','d','e'];
var bar = foo.slice();
现在 Foo 和 bar 是 'a'、'b'、'c'、'd'、'e' 的 5 个成员数组
inchat_count似乎未初始化。
var inch_info=[{location:"icha",name:"",volume:"50",url:""}];
var inchat_count = 0; // You forgot this line!!
for(i=0;i<ce_info.length;i++)
{
if(ce_info[i].location=="inchat")
{
inch_info[inchat_count].name=ce_info[i].name;
inch_info[inchat_count].url=ce_info[i].url;
inchat_count++;
}
}
你的代码中仍然有一个typeO
var inch_info=[{location:"ichat",name:"",volume:"50",url:""}];
位置不应该是 inchat 而不是 ichat?因为这是您在此行中检查的内容
if(ce_info[i].location=="inchat")
此外,在ce_info中没有名为 inchat 的位置,因此不会执行这段代码的结果。但是,如果ce_info中有一个元素具有 inchat 中的位置,这将是您将位置和名称添加到inch_info数组所需的代码。
更改您的 for 循环:
for(var eElem in ce_info)
{
if(ce_info[eElem].location=="inchannel")
{
var temp = {};
temp.name=ce_info[eElem].name;
temp.url=ce_info[eElem].url;
inch_info.push(temp);
}
}
使用jQuery
您可以如此轻松地实现它:
在此处查看工作演示
遵循 jQuery 代码可确保您没有 ce_info
的by reference
对象。
j查询代码:
var inch_info= jQuery.extend(true, {}, ce_info);
alert("inch_info: before changing text: "+inch_info[0].location);
inch_info[0].location = "hello world"
alert("inch_info: after changing text: "+inch_info[0].location);
alert("ce_info: after changing text: "+ce_info[0].location);
相关文章:
- d3:用更多维数组复制路径
- $.get-json数组复制
- 用javascript将一个对象数组复制到另一个数组中(深度复制)
- 将数组复制到另一个数组中,并将缺少的字段替换为 null
- 仅将对象的 1 个属性从对象数组复制到新数组
- 具有嵌套数组的绝对无引用的数组复制
- 如何将数组复制到数组
- 将特定对象(根据给定条件)从对象数组复制到angularJS中的另一个数组中
- Javascript数组复制,concat和slice,哪个更好
- 将数组复制到“;这个“;变量(创建一个类似数组的对象)
- 角度,数组复制太迟
- Node.js添加相对路径字符串到数组复制斜杠
- 在AngularJS中将值从对象数组复制到输入字段
- 将2D数组复制到另一个工作表
- 在JQuery中,将一个对象数组复制到另一个数组是它的引用类型
- 如何将函数返回的数组复制到JavaScript中的另一个数组中
- 这是JS数组复制在没有循环展开的情况下最快的速度吗?
- 将数组复制到变量,同时排除项-性能
- 将PHP数组复制到javascript数组中
- JavaScript中使用自执行内部函数的数组复制函数