将数据推送到现有数组 javascript

Push datas in existing array javascript

我有一个数组:

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 相当于获得此结果的是什么吗?

感谢支持

array.push(5);

数组是一个对象。所以只需使用它的方法 push()

如果要插入它,请使用 slice() - 方法:

var value= "whatever";
var insertIndex = 3;
array.slice(insertIndex, 0, value);

试试这个:

var data = [78, 89, 89, 346];
var obj = {
  'name': 'Gholi'
};

data.push(obj);

console.log(data);

这个功能可以帮到你:

function replaceItem (array, item, newItem) {
   for(var index in array) {
      if(array[index]==item) {
          array.splice(index, 1, newItem);
      }
   }
}

不,你只需要这样称呼你 functio :

replaceItem(array, 25.2, { y: 26.5, marker: { symbol: 'url(../sun.png)' } });

注意函数没有 return 任何东西,它直接替换数组,因为在 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 ]) 并且它 returns 从数组中删除的项目

a = [1,2,3];
removedItems = a.splice(0,2,3,3,3);
// removedItems ==> [1, 2]
// a ==> [3, 3, 3, 3]

这可能有帮助:

array.splice(array.indexOf(26.5),1,{y: 26.5,marker: {symbol: 'url(../sun.png)'}});

它找到26.5的位置并用你想要的对象替换它。

您正在寻找这样的代码吗?

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());

splice(index, howmanytoremove,item) 在index添加你的item,删除 howmanytoremove