我有一个数组:
var array = [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]
我需要从另一个数组推送数据以获得此结果:
[7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, {
y: 26.5,
marker: {
symbol: 'url(../sun.png)'
}
}, 23.3, 18.3, 13.9, 9.6]
有人可以解释一下array_push等价于获得这个结果吗?
感谢您的支持
答案 0 :(得分:2)
此功能可以帮助您:
function replaceItem (array, item, newItem) {
for(var index in array) {
if(array[index]==item) {
array.splice(index, 1, newItem);
}
}
}
不,你只需要像这样打电话给你:
replaceItem(array, 25.2, { y: 26.5, marker: { symbol: 'url(../sun.png)' } });
注意函数没有返回任何内容,它直接替换在数组上,因为在javascript中数组是通过它的引用传递的。
现在让我向您解释所有数组插入函数如何在javascript上运行:
Array.prototype.push:
这个在数组的末尾添加一个项目:
a = [1,2,3]
a.push(4); // a ==> [1,2,3,4]
相反,Array.prototype.pop
var lastItem = a.pop();
// lastItem == 4
// a ==> [1,2,3]
<强> Array.prototype.unshift:强>
这个在数组的开头添加一个元素:
a = [1,2,3];
a.unshif(0); // a ==> [0,1,2,3]
相反的是Array.prototype.shift
var firstItem = a.shift();
// firstItem == 0
// a ==> [1,2,3]
<强> Array.prototype.splice 强>
这个删除了一些项目,并用作为参数给出的新项目替换它们。参数是:( startingIndex, numberOfItemsToReplace, [, newItems ])
并返回从数组中删除的项目
a = [1,2,3];
removedItems = a.splice(0,2,3,3,3);
// removedItems ==> [1, 2]
// a ==> [3, 3, 3, 3]
答案 1 :(得分:2)
这可能会有所帮助:
array.splice(array.indexOf(26.5),1,{y: 26.5,marker: {symbol: 'url(../sun.png)'}});
找到26.5
的位置,并将其替换为您想要的对象。
答案 2 :(得分:2)
var a=[7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2,26.5, 23.3, 18.3, 13.9, 9.6];
var b={y: 26.5,
marker: {
symbol: 'url(../sun.png)'
}};
a.splice(7,1,b);
alert(a.toSource());
拼接(索引, howmanytoremove , item )在索引处添加您的项目,删除 howmanytoremove
答案 3 :(得分:1)
array.push(5);
数组是一个对象。所以只需使用它的方法push()
如果要插入它,请使用slice() - 方法:
var value= "whatever";
var insertIndex = 3;
array.slice(insertIndex, 0, value);
答案 4 :(得分:1)
试试这个:
var data = [78, 89, 89, 346];
var obj = {
'name': 'Gholi'
};
data.push(obj);
console.log(data);