Javascript 将对象中的数组传递到函数中
我想将一个对象作为参数传递到函数中,并将对象的属性赋值给该对象的属性,这样这些属性就可以在函数外部访问。但我不清楚这是如何做到的 起初我认为可以使用回调来完成,但我清楚地知道JavaScript并不是这样工作的。我最终设法让它工作起来,而未定义的错误消息就消失了。但是我现在想通过函数传递一个数组。如何做到这一点?这是我目前为止所做的,但似乎不起作用Javascript 将对象中的数组传递到函数中,javascript,jquery,Javascript,Jquery,我想将一个对象作为参数传递到函数中,并将对象的属性赋值给该对象的属性,这样这些属性就可以在函数外部访问。但我不清楚这是如何做到的 起初我认为可以使用回调来完成,但我清楚地知道JavaScript并不是这样工作的。我最终设法让它工作起来,而未定义的错误消息就消失了。但是我现在想通过函数传递一个数组。如何做到这一点?这是我目前为止所做的,但似乎不起作用 var journey = {}; journey['waypointsArrayItem'] = new Array(); setupAddres
var journey = {};
journey['waypointsArrayItem'] = new Array();
setupAddress(journey)
function setupAddress(journey) {
var waypointsItem = $('.timeline-item.active-item > .timeline-status > .waypoints').text().substring(4);
journey.waypointsArrayItem = [];
journey.waypointsArrayItem = listToArray(waypointsItem, ', ');
for (var i = 0; i < waypointsArray.length; i++) {
journey.waypointsArrayItem[i] = journey.waypointsArrayItem[i];
}
}
var旅程={};
旅程['waypointsArrayItem']=新数组();
地址(旅程)
功能设置地址(旅程){
var waypointsItem=$('.timeline-item.active-item>.timeline status>.waypoints').text().substring(4);
Travely.waypointsArrayItem=[];
traveley.waypointsArrayItem=listToArray(waypointsItem,,);
对于(变量i=0;i
为函数中的对象指定属性与为函数外的对象指定属性相同
function addName(obj, name) {
obj.name = name;
}
var bob = {};
console.log(bob.name); // undefined
addName(bob, 'Bob');
console.log(bob.name); // 'Bob'
您正在将数组项复制到它们自己。从
waypointsArray
数组复制到旅程。waypointsArray项目
数组:
function setupAddress(journey) {
var waypointsItem = $('.timeline-item.active-item > .timeline-status > .waypoints').text().substring(4);
var waypointsArray = listToArray(waypointsItem, ', ');
for (var i = 0; i < waypointsArray.length; i++) {
journey.waypointsArrayItem[i] = waypointsArray[i];
}
}
因此,在调用
设置地址(旅程)
函数后,您是否实际检查了旅程.waypointsArrayItem
数组?通常它应该包含预期的项目,当然,除非jQuery选择器$('.timeline-item.active-item>.timeline status>.waypoints').text().substring(4)代码>未返回任何内容或已崩溃。在所有情况下,您可能会考虑在浏览器中查询控制台输出的潜在错误。谢谢。我尝试了以下操作,但不断收到以下错误消息Uncaught TypeError:无法在travely.waypointsArrayItem[I]=waypointsArray[I]+“,Windy City”设置未定义的属性“0”代码>。知道是什么引起的吗?我的代码看起来不错。我一定是漏掉了什么face@methuselah:这里缺少一些代码,从数组声明的中间到函数声明。我模拟了数据和listToArray
函数,它可以工作:
function setupAddress(journey) {
var waypointsItem = $('.timeline-item.active-item > .timeline-status > .waypoints').text().substring(4);
journey.waypointsArrayItem = listToArray(waypointsItem, ', ')
}