Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 数组中的推送对象,每个$_Javascript_Jquery - Fatal编程技术网

Javascript 数组中的推送对象,每个$

Javascript 数组中的推送对象,每个$,javascript,jquery,Javascript,Jquery,也许我只是瞎了眼,但我现在挣扎了很长时间: 我这里有一小段JS代码: var linkInput = $('#Link input.gwt-TextBox').val(); var parentRow = $('#Link').parent().parent(); var links = linkInput.split("|"); // hide text-input $(parentRow).hide(); // get rid of empty elements links = link

也许我只是瞎了眼,但我现在挣扎了很长时间:

我这里有一小段JS代码:

var linkInput = $('#Link input.gwt-TextBox').val();
var parentRow = $('#Link').parent().parent();
var links = linkInput.split("|");

// hide text-input
$(parentRow).hide();

// get rid of empty elements
links = links.filter(Boolean);

var aSites = [];
var oSite = {};

$(links).each(function (k, v) {

    splits = v.split(".");
    domainName = splits[1];
    oSite.name = domainName;
    oSite.url = v;
    aSites.push(oSite);
});

console.log(aSites);
要指定:获取
输入
-字段的值,随后隐藏行并保存对象中的所有值,然后将其推入数组

该参数取自google Chrome的console选项卡:

var links = ["www.myshop1.de/article/1021581", "https://www.myshop2.de/article/1021581"] [type: object]
我想,我迭代了这个对象的所有元素(在这种情况下是2次),将值推到一个对象中,然后将对象推到一个数组中,以便以后能够访问所有元素

然而,在某个时刻,我似乎覆盖了以前的值,因为我的输出如下所示:

0: {name: "myshop1", url: "https://www.myshop1.de/1021581"}
1: {name: "myshop2", url: "https://www.myshop2.de/1021581"}
length: 2
__proto__: Array(0)
我的错在哪里?有没有更聪明的方法来实现这一点

旁注:

我试图只使用一个数组(不添加对象),但似乎我 不能像这样使用关联键:

var myKey = "foo";
var myValue = "bar";
myArray[myKey] = myValue
您应该移动此项:

var oSite = {};
…在它下面的每个回调中,因为每次迭代都需要一个新对象

否则,您将一次又一次地对同一对象进行变异,将同一对象反复推送到
aSites
数组中,最终导致对同一对象的多个引用

不相关,但您可以使用
$.map
创建数组(或使用
links.map()
):

您应该移动此项:

var oSite = {};
…在它下面的每个回调中,因为每次迭代都需要一个新对象

否则,您将一次又一次地对同一对象进行变异,将同一对象反复推送到
aSites
数组中,最终导致对同一对象的多个引用

不相关,但您可以使用
$.map
创建数组(或使用
links.map()
):


唉。。我知道这是件小事。非常感谢。成功了。我会尽快接受这个答案。或者使用
asites.push({name:…,url:…})叹息。。我知道这是件小事。非常感谢。成功了。我会尽快接受这个答案。或者使用
asites.push({name:…,url:…})