Size: a a a

2020 April 04

С

Славик in pro.js
Dima
Ребята В общем нужно чтобы функция getCompare отдавала true или false
По результату сравнения значений из массивов.

//Пытаюсь упростить

const a = [1, 2, 3]
const b = [4, 5, [1, 2, [3]], 4]

function getCompare(a, b) {
   b.forEach(i => {
       return  !i.length ? a === i : getCompare(a, i)
   })
}

a.forEach(i => {
  console.log(getCompare(i, b))
})


//так всё показывает но не могу понять как заставить функцию отдавать результат сравнения.

const a = [1, 2, 3]
const b = [4, 5, [1, 2, [3]], 4]

function getCompare(a, b) {
    b.forEach(i => {
       if (!i.length) {
          console.log(a === i)
       } else {
           console.log('\r')
           console.log('массив')
           getCompare(a, i)
       }
   })
}


a.forEach(i => {
   getCompare(i, b)
})
"функция отдавала" - это означает, что у функции должен быть return
источник

С

Славик in pro.js
у тебя его нету
источник

DE

Denis Efremov in pro.js
const a = [1, 2, 3]
const b = [4, 5, [1, 2, [3]], 4]

function getCompare(a, b) {
   let ret = true
   b.forEach(i => {
       if (!i.length) {
          ret = false
          console.log(a === i)
       } else {
           console.log('\r')
           console.log('массив')
           getCompare(a, i)
       }
   })
   return ret
}
источник

S

Syntax Highlight Bot in pro.js
Denis Efremov
const a = [1, 2, 3]
const b = [4, 5, [1, 2, [3]], 4]

function getCompare(a, b) {
   let ret = true
   b.forEach(i => {
       if (!i.length) {
          ret = false
          console.log(a === i)
       } else {
           console.log('\r')
           console.log('массив')
           getCompare(a, i)
       }
   })
   return ret
}
источник

DE

Denis Efremov in pro.js
Проверять на массив лучше через Array.isArray()
источник

D

Dima in pro.js
const a = [1, 2, 3]
const b = [4, 5, [1, 2, [3]], 4]

function getCompare(a, b) {
   let rez = {}
    b.forEach( (i,index) => {
        rez[index] = Array.isArray(i) ? getCompare(a, i) : a === i
   })
  return  rez
}

a.forEach(i => {
   console.log(getCompare(i, b))
})



мне же нужно получить результат функции true или false  Не объект, а для конкретного значения true, false
источник

D

Dima in pro.js
Denis Efremov
Проверять на массив лучше через Array.isArray()
Можно ли как то ускорить перебор ? без сортировки?
источник

С

Славик in pro.js
Dima
Можно ли как то ускорить перебор ? без сортировки?
а где ты видишь сортировку?
источник

D

Dima in pro.js
Славик
а где ты видишь сортировку?
ну теоретически есть алгоритм вначале отсортировать потом искать.
источник

С

Славик in pro.js
тебе Денис уже почти всё написал
источник

С

Славик in pro.js
если все элементы его объекта true, возвращай true, в обратном случае false
источник

С

Славик in pro.js
ну а вообще можно вернуть false при первом false
источник

D

Dima in pro.js
Славик
тебе Денис уже почти всё написал
так оно отдаёт 3 false, и не одной true?
источник

С

Славик in pro.js
"почти всё"
источник

DE

Denis Efremov in pro.js
Dima
так оно отдаёт 3 false, и не одной true?
!
источник

F

Foma in pro.js
а можно инклюд соме евери?
источник

МП

Максим Патрушев... in pro.js
Самый оптимальный в плане производительности вариант определения наличия под строки в строке?
источник

DE

Denis Efremov in pro.js
Максим Патрушев
Самый оптимальный в плане производительности вариант определения наличия под строки в строке?
А какие ты знаешь?
источник

МП

Максим Патрушев... in pro.js
Regexp, indexOf, includes
источник

МП

Максим Патрушев... in pro.js
Это если без извратов)
источник