Skip to content

Lecture 6 - JavaScript Array and Object Deep Dive (Time: 2:03:56) #56

Open

Description

@Murad-Hasan

In this lecture, Nayem vai with an array like
const number = [1,2,3,4,NaN,false,'',5,7,8]
For converting an array to a truthy string and making a custom array with string concatenation like
[ 1, 2, 3, 4, 5, 7, 8 ]
The following code is

const truthyValue = number.reduce((acc,cur, index) => {
    if (index === 0) acc += '[ '
    if (cur){
        acc += cur.toString() + (`${index < number.length - 1 ? ', ' : ''}`)
    }
    if (index === number.length - 1 ) acc+=' ]'
    return acc;
}, '')

But when I am going to use another array-like

const number = [1,2,3,4,NaN,false,'']

For this, why is the code not working?
Maybe, One reason is that the array doesn't end with a number.
Have anyone any idea about this?

Activity

  1. MOHAMMADmiZAN commented on Feb 19, 2023

    @MOHAMMADmiZAN

    const number = [1,2,3,4,NaN,false,''];
    const truthyValue = number.reduce((acc,cur, index) => {
    if (index === 0) acc += '[ ';
    if (cur){
    acc += cur.toString() + (${index < number.length - 1 ? ', ' : ''});
    }
    if (cur && !number.slice(index+1).some(Boolean)) acc+=' ]';
    return acc;
    }, '');

    console.log(truthyValue); // Output: [ 1, 2, 3, 4 ]

  2. nuruddin-bin-hoda commented on Jun 1, 2023

    @nuruddin-bin-hoda

    Try this algorithm

    const arr = [1, 2, 3, 4, NaN, false, ""];

    let i, j = 0;
    for (i = 0; i < arr.length; i++) {
    if (typeof arr[i] === "number" && !isNaN(arr[i])) {
    arr[j++] = arr[i];
    }
    }
    arr.length -= i - j;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions