Javascript 如何在数组中添加多个值
如何动态添加数组,如下面的代码所示。我已经用JavaScript创建了一个多维数组,但是如何推送Javascript 如何在数组中添加多个值,javascript,Javascript,如何动态添加数组,如下面的代码所示。我已经用JavaScript创建了一个多维数组,但是如何推送src即“/\u layouts/15/SSNIT.Portal/Images/ssnit02.jpg”和title即我的title。我有多个值,并且我正在迭代它们 carousel_images_info = [ { src: "/_layouts/15/My.Portal/Images/my1.jpg", title: "ssnit01" }, { src: "/_layouts/
src
即“/\u layouts/15/SSNIT.Portal/Images/ssnit02.jpg”
和title
即我的title
。我有多个值,并且我正在迭代它们
carousel_images_info = [
{ src: "/_layouts/15/My.Portal/Images/my1.jpg", title: "ssnit01" },
{ src: "/_layouts/15/my3.Portal/Images/my2.jpg", title: "ssnit02" },
{ src: "/_layouts/15/my4.Portal/Images/my3.jpg", title: "ssnit03" },
{ src: "/_layouts/15/my5.Portal/Images/my4.jpg", title: "ssnit04" },
{ src: "/_layouts/15/my5.Portal/Images/ssnit05.jpg", title: "ssnit05" }
];
按一下:)
但是,如果要避免重复,则必须在添加新行之前遍历整个列表以执行比较。另一种解决方案是推送所有内容,然后仅在需要时删除重复项。这是一个包含对象的数组,您需要将对象推送到它,如:
var new_obj = {
src: "/_layouts/15/SSNIT.Portal/Images/ssnit02.jpg",
title: "My Title"
};
carousel_images_info.push(new_obj);
src和title的值是动态的,所以我可以这样做吗
var item_enumerator = this.items.getEnumerator();
while (item_enumerator.moveNext()) {
var item = item_enumerator.get_current();
var image_url = location.protocol + "//" + location.host + item.get_item('FileRef');
var image_title = item.get_item('FileLeafRef');
var set = {
src: image_url,
title : image_title
};
this.carousel_images_info.push(set);
}
试试这个
var new_obj = {};
new_obj.src = "/_layouts/15/SSNIT.Portal/Images/ssnit02.jpg";
new_obj.title= "MyTitle";
carousel_images_info[carousel_images_info.length] = new_obj
所以,如果你是动态地做这件事
carousel_images_info=[];
function Insert(xSrc,xTitle)
{
var new_obj = {};
new_obj.src = xSrc;
new_obj.title= xTitle;
carousel_images_info[carousel_images_info.length] = new_obj;
}
Insert("/_layouts/15/SSNIT.Portal/Images/ssnit02.jpg","MyTitle");
请注意,这个问题与JSON完全无关。您混淆了JavaScript对象文本(JavaScript语言语法的一种构造)和JSON(一种独立于语言的数据交换格式,如XML或CSV)。我将相应地编辑您的问题。Array.prototype.concat从两个数组中创建一个数组,只需从右向左添加每个条目即可。@Eraden您能给我举个例子吗?假设我有以上这些值?我建议学习数组和对象的基本知识。
var a=[1,2,3,4];var b=[1,2,3];var c=a.concat(b)代码>c
现在是[1,2,3,4,1,2,3]
;当然,数组的成员可能就是一切。但是如果您只想添加一个成员,请使用下面的push
方法。如果上述方法正确,则应该可以,但我的旋转木马图像不起作用,可能是因为在填充此.carousel\u images\u信息之前,另一个函数先访问它。getEnumerator
-这是什么?似乎代码与OP的问题无关。
carousel_images_info=[];
function Insert(xSrc,xTitle)
{
var new_obj = {};
new_obj.src = xSrc;
new_obj.title= xTitle;
carousel_images_info[carousel_images_info.length] = new_obj;
}
Insert("/_layouts/15/SSNIT.Portal/Images/ssnit02.jpg","MyTitle");