@Twitch_Drops Я так решил траблу эту, у вас может получится и просто через Прокси как там же предлагали :)
https://community.bablosoft.com/topic/29731/не-получается-запустить-софт/3
У меня по сих пор, один Форум ток работает без всего :)))
@freeliman Содержит(indexOf) в списках работает только по полному совпадение.
@freeliman Я тоже не особо понимаю программирование выраженное обычным языком )
https://vk.com/alinacat5
https://vk.com/id416041287
https://vk.com/id509893152
Вот ссылки на каких то детей. Вот мне надо проверить есть ли в списке эти ссылки.
по сути два тхт файла. если один файл содержит такую ссылку, то хочу игнорировать её
@freeliman
@drprime said in Содержит - не работает:
@freeliman
Я кажется понял Вашу проблему.У вас список вида
url:текст?Если так, то действие не будет работать, если искать
url, так как требуется полное совпадение, то естьurl:текст
О чем я с самого начала и сказал )
@qwaros said in Содержит - не работает:
@usertrue кто вам такое сказал? indexOf ищет подстроку указанную. НЕважно какая часть это.
Документация JS, например тут https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf#Description
@qwaros said in Содержит - не работает:
var re = "alinacat5"; var text = "https://vk.com/alinacat5:Some text"; if(text.indexOf(re)){ log(true) } else { log(false) }
Этот ваш пример про поиск по строке. А есть два разных IndexOf и речь была о массиве(списке)
@usertrue said in Содержит - не работает:
@freeliman Содержит(indexOf) в списках работает только по полному совпадение.
Вот пример как будет
var arr = ["привет мир", "яблоко"];
log(arr.indexOf("привет")>-1); //return false
log(arr.indexOf("привет мир")>-1); //return true
@usertrue said in Содержит - не работает:
@qwaros said in Содержит - не работает:
@usertrue кто вам такое сказал? indexOf ищет подстроку указанную. НЕважно какая часть это.
Документация JS, например тут https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf#Description
@qwaros said in Содержит - не работает:
var re = "alinacat5"; var text = "https://vk.com/alinacat5:Some text"; if(text.indexOf(re)){ log(true) } else { log(false) }
Этот ваш пример про поиск по строке. А есть два разных IndexOf и речь была о массиве(списке)
@usertrue said in Содержит - не работает:
@freeliman Содержит(indexOf) в списках работает только по полному совпадение.
Вот пример как будет
var arr = ["привет мир", "яблоко"]; log(arr.indexOf("привет")>-1); //return false log(arr.indexOf("привет мир")>-1); //return true
Для массива да, но что мешает собрать список (массив) в строку да тестануть? Если массив небольшой, потом если нашли соответствие, перебираем массив в поисках нужного ключа, если нет идем дальше
@qwaros От скуки сделал тест скорости. Сравнил метод join + indeOf и цикл for + indexOf
var testArr = [];
var strTest = "Цена от 50000";
for(i=1;i<=100000;i++) {
testArr.push("Пишу скрипты любой сложности, очень дорого. Цена от " +i);
};
var resultTime = {};
function speedTest(func) {
return function() {
var startTime = Date.now();
func.apply(null,arguments);
if(!resultTime[func.prototype.constructor.name]) resultTime[func.prototype.constructor.name] = 0;
resultTime[func.prototype.constructor.name] +=Date.now() - startTime;
};
};
function strJoin(arr,str) {
return arr.join(",").indexOf(str);
};
function cycle(arr,str) {
for(i = arr.length - 1;i>=0;i--) {
if(arr[i].indexOf(str)>=0) return true;
};
};
var speedJoin = speedTest(strJoin);
var speedCycle = speedTest(cycle);
for (i = 0;i<10;i++) {
speedJoin(testArr,strTest);
};
for (i = 0;i<10;i++) {
speedCycle(testArr,strTest);
};
for(func in resultTime){
console.log("Среднее время функции: " + func + ":" + resultTime[func]/10 + "ms");
};
Результат
Среднее время функции: strJoin:49ms
Среднее время функции: cycle:7.7ms