array_values() in JS: 在JS中使数组只保留键值, 重置键名, 同时删除空值的方法

最初发表于: 2019-11-02 18:41:57

JS的数组, 其键名如果不从0开始, 它经常会补上一些空值, 操作起来不太方便.

在PHP当中, 有一个函数是array_values(), 它可以保留一个数组的键值, 同时重置键名, 使键名从0开始

在JS当中, 我还没有找到官方的相似函数, 可以用这个, 代码如下

    function arrayValues(arr) {
        var returnVal = []
        var key = 0
        arr.forEach(function(v, k) {
            returnVal[key] = v
            key++
        })
        return returnVal
    }

如果要进行arrayValues的数组是一维数组, 而且数组的元素的键值都是字符串, 也可以使用如下代码

    /*通用功能: 数组去掉空项, 重置键名*/
    function arrayValues(arr) {
        var r = arr.filter(function (s) {
            return s && s.trim()
        })
        return r
    }