Javascript 在数组的开头添加一个对象
我知道这很容易,但我不太明白Javascript 在数组的开头添加一个对象,javascript,Javascript,我知道这很容易,但我不太明白 function submitNewComment() { var noo = 0; //array index var userName = document.getElementById('user-name').value; //textbox var commentBox = document.getElementById('main-comment').value; //textbox var now = new Date();
function submitNewComment() {
var noo = 0; //array index
var userName = document.getElementById('user-name').value; //textbox
var commentBox = document.getElementById('main-comment').value; //textbox
var now = new Date();
mili = now.getTime(); //time in milisecond
var element = [];
element.push({
"no": noo, //array index
"username": userName,
"date": mili,
"body": commentBox,
"likes": "0",
"parent": null
});
console.log(element);
noo++;
console.log(noo);
}
简而言之,我需要添加一个变量,创建一个包含对象的数组。
当我运行这个函数时,它并不像我希望的那样工作。我错过了一些东西
当您第二次运行该函数时,问题就存在了。
理想情况下,应该创建第二个对象,但第一个对象会得到更新。因此,在第二次运行结束时以及之后每隔一次运行结束时,数组的长度保持为1。使用.unshift(object)
预加载到数组
- 文件:
设a=[1,2,3,4];
控制台日志(a);
a、 不移位(5);
控制台日志(a)代码>使用.unshift(对象)
预先添加到数组
- 文件:
设a=[1,2,3,4];
控制台日志(a);
a、 不移位(5);
控制台日志(a)代码>您有一些问题。你需要有一种方法在页面加载后获取数据
你需要一个按钮或一些其他的行动方法
您将自己与对象创建混淆。如果它是一个用于创建对象的工厂函数,那么“this.[label]”是有效的,但是如果您只是将表单数据作为对象推送到数组中,那么请按照下面的建议执行。我所做的有意义吗
我也没有在这里更改它,但是以毫秒为单位创建日期的最佳方法是date.now()。继续使用这种方法,它将缩短并简化您的代码
有问题吗
var元素=[];
var btn=document.getElementById('btn');
btn.addEventListener('click',submitNewComment);
函数submitNewComment(){
var userName=document.getElementById('user-name')。值
var commentBox=document.getElementById('main-comment')。值
var now=新日期();
var millides=now.getTime();
元素。取消移位({
否:“测试”,
用户名:用户名,
日期:毫秒,
正文:评论框,
喜欢:0,
父项:null,
});
控制台日志(元素);
}
先生
提交
您有一些问题。你需要有一种方法在页面加载后获取数据
你需要一个按钮或一些其他的行动方法
您将自己与对象创建混淆。如果它是一个用于创建对象的工厂函数,那么“this.[label]”是有效的,但是如果您只是将表单数据作为对象推送到数组中,那么请按照下面的建议执行。我所做的有意义吗
我也没有在这里更改它,但是以毫秒为单位创建日期的最佳方法是date.now()。继续使用这种方法,它将缩短并简化您的代码
有问题吗
var元素=[];
var btn=document.getElementById('btn');
btn.addEventListener('click',submitNewComment);
函数submitNewComment(){
var userName=document.getElementById('user-name')。值
var commentBox=document.getElementById('main-comment')。值
var now=新日期();
var millides=now.getTime();
元素。取消移位({
否:“测试”,
用户名:用户名,
日期:毫秒,
正文:评论框,
喜欢:0,
父项:null,
});
控制台日志(元素);
}
先生
提交
您可以使用Array.prototype.unshift()
将元素添加到数组的开头。此方法返回数组的新长度
var元素=[];
元素。推({
“否”:“noo”,//临时变量
“用户名”:“用户名”,
“日期”:“米利”,
“正文”:“评论框”,
“喜欢”:“0”,
“父项”:空
});
元素push({“something”:“else”});
var newLen=element.unshift({“object”:“one”});
控制台日志(元素);
log(“元素数组的新长度:“+newLen”)代码>您可以使用Array.prototype.unshift()
将元素添加到数组的开头。此方法返回数组的新长度
var元素=[];
元素。推({
“否”:“noo”,//临时变量
“用户名”:“用户名”,
“日期”:“米利”,
“正文”:“评论框”,
“喜欢”:“0”,
“父项”:空
});
元素push({“something”:“else”});
var newLen=element.unshift({“object”:“one”});
控制台日志(元素);
log(“元素数组的新长度:“+newLen”)代码>这是什么。没有对象之外的代码?请描述好这个问题。你哪里出错的?这是一些奇怪的代码。此
指的是什么?除非您以构造函数的身份调用submitNewComment
,否则此
将成为窗口
。另外,您希望元素[this.noo]
是什么this.noo
没有定义,因此它将是undefined
.duplicate of??对象之外的this.noo
可能重复?请详细描述问题。你哪里出错的?这是一些奇怪的代码。此
指的是什么?除非您以构造函数的身份调用submitNewComment
,否则此
将成为窗口
。另外,您希望元素[this.noo]
是什么this.noo在任何地方都没有定义,因此它将是未定义的
。重复的??可能重复的@brk@hossein@angel-politis@steve drake@misterhtmlcss@simranjit singh@hev1问题陈述已更新,以提供更多澄清。问题在于函数中声明的语句var element=[]
。@brk@hossein@angel-politis@steve drake@misterhtmlcss@simranjit singh@hev1问题陈述已更新,以提供更多澄清。问题在于函数中声明的语句var element=[]
。我最终在函数中声明了变量。我最终在函数中声明了变量。