function check(o){
if(Array.isArray(o))
return o.some(e1=>check(e1));
if(typeof(o) == "object"){
if(o.intValue && o.intValue === 1)
return true;
return Object.keys(o).some(e1=>check(o[e1]));
}
return false;
}
let filterArr = arr.filter(e=>check(e));
public static void UzipOneFile(string zipPath, string directoryOutPath) {
var outDir = new DirectoryInfo(directoryOutPath);
if (!outDir.Exists)
outDir.Create();
var archFile = new FileInfo(zipPath);
if(!archFile.Exists)
return;
using (var f = File.Open(archFile.FullName, FileMode.Open)){
System.IO.Compression.ZipArchive arch = new ZipArchive(f, ZipArchiveMode.Read);
if (arch.Entries.Count > 0){
using (Stream sr = arch.Entries[0].Open()){
var ext = "";
try{
ext = new FileInfo(arch.Entries[0].Name).Extension;
}
catch (Exception){}
using (Stream sw = File.Create(outDir.FullName + "\\" + archFile.Name+ext)){
while (true){
int data = sr.ReadByte();
if(data == -1)
break;
sw.WriteByte((byte) data);
}
}
}
}
}
}
//...
UzipOneFile(@"D:\myarch.zip", @"D:\outFolder");
colors.forEach(e=>{
let img = new Image();
img.src= e.img;
img.onload = function(){
e.isLoaded = true;
if(colors.every(e1=>e1.isLoaded))
repaintPanel();
}
});
API-keys are passed into the Rest API via the X-MBX-APIKEY header.
curl -H "X-MBX-APIKEY: vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A" -X POST 'https://api.binance.com/api/v3/order?symbol=LTCBTC&side=BUY&type=LIMIT&timeInForce=GTC&quantity=1&price=0.1&recvWindow=5000×tamp=1499827319559&signature=c8db56825ae71d6d79447849e617115f4a920fa2acdcab2b053c4b2838bd6b71'
Console.WriteLine(File.ReadAllLines(@"D:\\nums.txt").Select(s => Convert.ToDouble(s)).Sum());
string WRitePath = @"";
string line;
decimal Sum = 0;
StreamReader sr = new StreamReader(WRitePath, System.Text.Encoding.Default);
while ((line = sr.ReadLine()) != null)
{
decimal number = Convert.ToDecimal(line);
Sum+= number;
}
sr.Close();
Console.WriteLine(Sum);
Console.ReadKey();
node[i].replaceWith(...acc);
в функции parseNode, потому-что у вас цикл по фиксированной длинне количества элементов которые вы получили в начале var l = node.childNodes.length;
, а из-за того что вы один элемент можете менять на несколько с помощью replaceWith, общее количество элементов в ноде увеличивается и в итоге вы не проходите все. Вам нужно или обновлять каждую итерацию переменную l или заменять только на один элемент типа function parseNode(node, search, replace) {
let l = node.childNodes.length;
node = node.childNodes;
let reg = new RegExp(search, "gi");
for(let i = 0; i < l; i++) {
if(node[i].nodeType === Node.ELEMENT_NODE) {
parseNode(node[i], search, replace);
} else if(node[i].nodeType === Node.TEXT_NODE) {
let mas = node[i].textContent.match(reg);
let parts = node[i].textContent.split(reg);
if(0 === parts.length) {
continue;
}
let acc = [];
let span = document.createElement("span");
for (let j = 0; j < parts.length;j++){
//acc.push(document.createTextNode(parts[j]));
span.append(document.createTextNode(parts[j]));
if (j < parts.length - 1 ){
replace.textContent = mas[j];
span.append(replace.cloneNode(true));
//acc.push(replace.cloneNode(true));
}
}
node[i].replaceWith(span);
}
}
}
struct SEmployee
{
public string name;
}
static List<List<SEmployee>> InputBregEmployee()
{
List<List<SEmployee>> Lemployees = new List<List<SEmployee>>();
Console.WriteLine("Введите количество бригад");
int brigade = Convert.ToInt32(Console.ReadLine());
for (int i = 0; i <= brigade - 1; i++) {
Console.WriteLine("Введите количество сотрудников в " + (i+1) + " бригаде");
int employee = Convert.ToInt32(Console.ReadLine());
var employees = new List<SEmployee>();
for (int t = 0; t <= employee - 1; t++) {
Console.WriteLine("Введите имя сотрудника");
employees.Add(new SEmployee() {name = Console.ReadLine() });
}
Lemployees.Add(employees);
}
return Lemployees;
}
function getAddCode(code){//00100111 -> 00101000
code = code.split("");
for(let i = code.length-1;i >= 0; i--){
code[i] ^=1;
if(code[i])break;
}
return code.join("");
}
let headers = persons.reduce((a,b)=>a.concat(Object.keys(b)),[]).filter((v, i, s)=>s.indexOf(v) === i);
str = `<table border='1'><tr>${headers.map(e=>`<th>${e}</th>`).join("\n")}</tr>` + persons.map(e=>`<tr>${headers.map(e1=>`<td>${e[e1]?e[e1]:"-"}</td>`).join("\n")}</tr>`).join("\n")+`</table>`;