При передаче элемента массива (строка) в функцию, функция не работает, как ожидается

211
21 июля 2018, 16:00

Дано: Пишу приложение на Электрон, есть текстовый файл, из которого нужно получить массив имен. Массив успешно получен, можно вывести в консоль. console.log(array[0]) Реклама - ALESA04032016.mp3

При передаче элемента этого массива в качестве аргумента в функцию (или подобную для работы с файловой системой) find.fileSync(array[0], "D:/transfer") получаем пустой массив на выходе []

Однако: find.fileSync("Реклама - ALESA04032016.mp3", "D:/transfer") на выходе все прекрасно ["D:\transfer\roliki\rolikiNOW\Реклама - ALESA04032016.mp3"]

И ещё при создании массива в "вручную", например, let array = ["Реклама - ALESA04032016.mp3", "Реклама - Центр Города 31 08 17 (Рыба).mp3"], find.fileSync(array[0], "D:/transfer") на выходе все также ок ["D:\transfer\roliki\rolikiNOW\Реклама - ALESA04032016.mp3"]

Ссылка https://github.com/crocodeev/electronTester

Код

const searcher = require('string-search');
const path = require('path');
const fs = require('fs');
const find = require('find');
let openButton = document.getElementById('openButton');
let openInput = document.getElementById('openInput');
let nameArrayButton = document.getElementById('nameArray')
let nameArr = [];

nameArrayButton.addEventListener('click', () => {
  console.log(nameArray);
});
openButton.addEventListener('click', () => {
  openInput.click()
});
openInput.addEventListener('change', handleFileSelect);
function handleFileSelect(e) {
  let file = e.target.files[0];
  let reader = new FileReader();
  reader.onload = function (e) {
    string = e.target.result;
    searcher.find(string, "Реклама")
  .then(result => arrayRebuilder(result))
  .then(result => nameReturn(result))
  }
  reader.readAsText(file, "windows-1251");
}
function arrayRebuilder(array) {
  let newArray = [];
  for (let i = 0; i < array.length; i++) {
    let editFilePath = array[i].text.slice(9, array[i].length);
    newArray.push(editFilePath);
  }
  return newArray;
}
function nameReturn(result) {
  result.forEach(function(item) {
    let pt = path.parse(item).base;
    nameArr.push(pt)
  })
}
READ ALSO
JavaScript/Canvas Приятствие

JavaScript/Canvas Приятствие

подскажите, как сделать чтобы черный квадрат не смог проходить сквозь зеленый квадрат

189
Разные значения высоты в .outerHeight()

Разные значения высоты в .outerHeight()

Написал скрипт для постройки блоков в виде кирпичной кладкиНо когда не указываю явную высоту блока, то скрипт неверно считает высоту и соответственно...

183