相关疑难解决方法(0)

javascript forEach方法有什么用(地图不能做)?

我在map和foreach中看到的唯一区别map是返回一个数组而forEach不是.但是,我甚至不理解方法的最后一行forEach" func.call(scope, this[i], i, this);".例如,是不是" this"和" scope"指的是同一个对象而不是this[i]并且i指的是循环中的当前值?

我在另一篇文章中注意到有人说" forEach当你想根据列表的每个元素做某事时使用.例如,你可能会在页面上添加内容.基本上,它非常适合你想要的"副作用".我不知道副作用是什么意思.

Array.prototype.map = function(fnc) {
    var a = new Array(this.length);
    for (var i = 0; i < this.length; i++) {
        a[i] = fnc(this[i]);
    }
    return a;
}

Array.prototype.forEach = function(func, scope) { 
    scope = scope || this; 
    for (var i = 0, l = this.length; i < l; i++) {
        func.call(scope, this[i], i, this); 
    } 
}
Run Code Online (Sandbox Code Playgroud)

最后,这些方法在javascript中是否有任何实际用途(因为我们不更新数据库),除了操纵这样的数字:

alert([1,2,3,4].map(function(x){ …
Run Code Online (Sandbox Code Playgroud)

javascript arrays foreach dictionary prototype

89
推荐指数
4
解决办法
3万
查看次数

过滤并删除数组中的过滤元素

我想删除原始数组中的特定元素(即var a).我filter()那个数组并splice()返回了新数组.但这对此代码中的原始数组没有影响.如何从原始数组中轻松删除这些元素?

var a = [{name:'tc_001'}, {name:'tc_002'}, {name:'tc_003'}]

var b = a.filter(function (e) {
    return e.name === 'tc_001';
});

b.splice(0,1);

console.log(a);
console.log(b);
Run Code Online (Sandbox Code Playgroud)

javascript arrays node.js

14
推荐指数
2
解决办法
4万
查看次数

从阵列中删除所有出现的数字

我正在努力解决以下问题,

给定一个数组和一个值,删除该值的所有实例并返回新的长度.

我为它编写了下面的代码,但它总是返回一个空数组.

/**
 * @param {number[]} nums
 * @param {number} val
 * @return {number}
 */
var removeElement = function(nums, val) {
    for (var i=0; i< nums.length; i++)
    {
            if (nums[i] == val)
                nums.slice(i);
    }
    return nums;
};
Run Code Online (Sandbox Code Playgroud)

javascript

3
推荐指数
2
解决办法
1549
查看次数

如何使用Javascript删除数组中的所有奇数?

有人可以调试这段代码吗?我不能为我的生活找到(运行时)错误:

function generate_fibonacci(n1, n2, max, out){
    var n = n1+n2;
    if(n<max){
        out.push(n);
        generate_fibonacci(n2, n, max, out);
    }
}

function generate_fibonacci_sequence(max){
    var out = [1];
    generate_fibonacci(0, 1, max, out);
    return out;
}

function remove_odd_numbers(arr){
    for (var i = 0; i < arr.length; i++) {
        if(!(arr[i]%2==0)){
            arr.splice(i, 1);
        }
    }
    return arr;
}

function sum(array){
    var total = 0;
    for (var i = 0; i < array.length; i++) {
        total+=array[i];
    }
    return total;
}

var fib_sq = generate_fibonacci_sequence(4000000);

console.log("Before: " + fib_sq); …
Run Code Online (Sandbox Code Playgroud)

javascript

0
推荐指数
1
解决办法
1万
查看次数

标签 统计

javascript ×4

arrays ×2

dictionary ×1

foreach ×1

node.js ×1

prototype ×1