javascript - 将对象中的数组传递给函数

标签 javascript jquery

我想将一个对象作为参数传递给函数,并将事物分配给该对象的属性,然后这些属性就可以在函数外部访问。但我不太清楚它是如何完成的。

起初我认为可以使用回调来完成,但我很清楚 JavaScript 不能那样工作。我最终设法让它工作,并且未定义的错误消息消失了。但我现在想通过该函数传递一个数组。如何才能做到这一点?这是我到目前为止所做的,但似乎不起作用。

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];
    }
}

最佳答案

您正在将数组项复制到自身。从 waypointsArray 数组复制到 journey.waypointsArrayItem 数组:

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];
  }
}

根据您的需要,您也可以替换整个数组:

function setupAddress(journey) {
  var waypointsItem = $('.timeline-item.active-item > .timeline-status > .waypoints').text().substring(4);
  journey.waypointsArrayItem = listToArray(waypointsItem, ', ')
}

关于javascript - 将对象中的数组传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28774521/

相关文章:

javascript - 格式化 HTML 输入文本产品 key

javascript - jquery .serialize() 不适用于动态加载的表单

javascript - SoundManager 2 360Ui安装

javascript - 持久保存名为 window.open() 的选项卡

javascript - 花哨的自定义输入字段

javascript - 在使用 Flow 时,如何将 props 传播到使用精确 props 的 React 组件?

javascript - 每 x 秒重复一次代码,但如果 [在此处插入检查] 则不重复

javascript - JQuery.ajax 不使用 HTTPS

javascript - 如何高亮:active element using javascript?

javascript - JQuery - 为什么附加 "complex"内容需要一个字符串上的 jquery 对象数组?