javascript - 使用 for 循环推送到数组

标签 javascript

我是 JS 新手。试图在下面找出这个问题。我被困在“if”语句上,不确定到底要输入什么。我也不确定我的“推送”设置是否正确

// Define a function named `compact` that accepts an array and returns
// another array with all the falsey values removed from it. For example,
// if this array was passed in:
//   [1, 4, 0, '', undefined, false, true, null, {mj: 'mj'}, 'Hello']
// the function would return this, as a result:
//   [1, 4, true, {mj: 'mj'}, 'Hello']

var compact = function (array) {
    var truthyValues = [];
    for (var i = 0; i < array.length; i += 1) {
        if () {
            truthyValues.push[i];
        }
    }
    return truthyValues;
};

最佳答案

你很接近。 if 应该是这样的:

if (array[i]) {
    truthyValues.push(array[i]);
}

因为你想检查每个数组元素的真实性,只需将 array[i] 放在 if block 中。这会在 i 处获取数组的值,如果该值为真,则计算结果为真。

然后不是将 i - 索引插入数组 - 而是将 array[i] 插入,以便实际值在 truthyValues 中。

关于javascript - 使用 for 循环推送到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20432763/

相关文章:

javascript - 使用 Bootstrap 的 Openlayers 3 弹出窗口

javascript - JavaScript 可以监听浏览器中的 UDP 端口吗?

javascript - Angular ui-router动态查询字符串定义

javascript - 使用 JavaScript 和 JSON 从 Excel 数据创建 JavaScript 数组

javascript - Angularjs参数不是一个得到字符串的函数

javascript - JQuery 溢出 Div,动画移动

javascript - 如何在 HTML-Canvas 上渲染光线转换的墙壁纹理

javascript - Typescript 访问嵌套条件类型

javascript - 合并两个 dataURI 以创建单个图像

javascript - 为什么我的 Javascript 函数有时只能工作?