在JavaScript中添加新元素时,拼接首先在数组中添加对象
我正在拼接旧对象,即当新元素(对象)自动添加到数组中时,首先在数组中添加对象。
这是我工作的示例代码
var sampleArr = [{"id":4,"hostName":"henry"},
{"id":3,"hostName":"jeff"},
{"id":2,"hostName":"mark"},
{"id":1,"hostName":"holder"}];
当添加5个对象({“id”:5,“hostName”:“punk”})时,上面的数组包含4个对象我想拼接第一个添加的对象ie({“id”:1,“hostName”:“holder “})。
这是我在控制器中尝试的
for( var i=0; i<sampleArr.length; i++){
var index = i;
if(sampleArr.length > 4){
sampleArr.splice(index,1,sampleArr[i]);
}
}
但它没有按我的预期工作。 请任何帮助我找出这个!
您可以使用简单的pop()
来取出最后一个元素,并使用push
将新元素添加到数组中!
var sampleArr = [{
"id": 4,
"hostName": "henry"
}, {
"id": 3,
"hostName": "jeff"
}, {
"id": 2,
"hostName": "mark"
}, {
"id": 1,
"hostName": "holder"
}];
sampleArr.pop()
sampleArr.push({
"id": 5,
"hostName": "punk"
})
console.log(sampleArr)
您可以使用unshift
在数组开头添加新项目,并使用pop
删除数组中的最后一个项目。 在这里阅读更多。
尝试这个:
sampleArr.unshift({"id":5,"hostName":"punk"});
sampleArr.pop();
希望会有所帮助。
我认为OP是要求FIFO(先进先出操作),因为我不明白{"id":1,"hostName":"holder"}
可能是下面数组中的第一个元素。 但这是我的建议。
Array.prototype.performFIFO = function(element) { this.push(element); this.shift(); return this; }
var sampleArr = [{"id":4,"hostName":"henry"},
{"id":3,"hostName":"jeff"},
{"id":2,"hostName":"mark"},
{"id":1,"hostName":"holder"}];
sampleArr.performFIFO({"id":5,"hostName":"fifth element"})
console.log(sampleArr)
链接地址: http://www.djcxy.com/p/19373.html
上一篇: splice first added object in an array when new element is added in javascript
下一篇: KnockoutJS Appending To the Beginning of observableArray