在 Javascript 中从自定义类型写入数组
Writing from a custom type to an array in Javascript
我已经在这个问题上卡了几天了。我可以让我的相册写入控制台,但我不知道如何让它们写入数组。代码的工作原理是,当我单击"显示相册"按钮时,它只返回[对象,对象]以外的任何内容。谁能帮我弄清楚如何将新相册写入数组以使其正确显示?提前谢谢。
(function() {
var name = document.getElementById("name");
var year = document.getElementById("year");
var showbutton = document.getElementById("showlist");
var submitbutton = document.getElementById("submit");
var validate = document.getElementById("validate");
var albumlist = [];
var albums = function album(name, year) {
this.name = name;
this.year = year;
this.album = function() {
return ((this.name + ", " + this.year));
};
}
albums.prototype.genre = "rock";
var album1 = new albums("album1", "1999");
var album2 = new albums("album2", "2000");
var album3 = new albums("album3", "2001");
var album4 = new albums("album4", "2002");
var album5 = new albums("album5", "2003");
albumlist.push(album1, album2, album3, album4, album5);
showbutton.onclick = function() {
for (var i = 0; i < albumlist.length; i++) {
console.log(albumlist[i]);
}
document.getElementById("myalbums").innerHTML = albumlist.sort() + "<br/>";
}
document.getElementById("myalbums").innerHTML = albumlist.sort() + "<br/>";
看看这条线是做什么的。这需要一个数组,它是一个具有许多函数、键等的对象,并尝试在页面上绘制。
这是不可能的,因为javascript不知道如何将该数组转换为字符串。
为此,您必须首先创建所需的字符串,然后将其绘制在页面上。
您需要循环访问这些项目并生成一个字符串,例如:
var names = "";
for(var i = 0; i < albumlist.length; i++){
names += albumlist[i].name + ' ';
}
然后在 HTML 上替换它:
document.getElementById("myalbums").innerHTML = names + "<br/>";
相关文章:
- 将单独的数组深层键转换为所需的类型(数组或对象)
- 查找数组javascript中包含的元素类型
- 只能存储一种类型的对象的数组
- 将大数组(字符串和类型数组的混合物)存储到blob或文件中/从blob或文件检索大数组的最佳方式
- 如何使用数组减少来求和对象属性长度,不带类型
- 数组类型字符串导致类型错误的对象
- JavaScript中的数组是什么类型的列表
- 在JavaScript中调用array()作为构造函数时,返回的是什么类型的数组
- 微风:将项目添加到复杂类型的数组中
- 在Javascript中创建一个与现有对象数组类型不同的对象数组
- 从react组件'数组类型状态属性弹出的正确方式
- 填充数组类型嵌套对象时出现的问题
- c#如何从数组类型Webmethode访问Asp.net标签值
- 创建一个猫鼬模型,其中包含数组类型返回未定义的那些在我的docker容器
- 增强数组类型
- ReactJS推送数组类型状态的正确方式
- 使用jquery,数组类型id中的值是未定义的
- 如何检查提供的参数是否为Javascript中的字节数组类型?
- Javascript数组类型转换
- Javascript中有多维数组类型吗?