const map = {
n: "account_name",
d: "start_deposit",
c: "client_name",
b: "ib_account_number",
l: "leverage",
e: "description",
r: "rebalance_model",
m: "model_settings",
s: "selected_systems",
w: "target_weights",
}
let key = "ndcbler";
const hasSettings = this.newAccount.model_settings !== "{}";
const hasWeights = this.newAccount.target_weights !== "{}";
if (hasSettings && hasWeights) {
key += "swm";
} else if (hasSettings) {
key += "m";
} else if (hasWeights) {
key += "sw";
// } else { // что делаем, если ни того ни того нет?
// key = "";
}
this.objForPost = key.split("")
.map((key) => `-${key} ${this.newAccount[map[key]]}`)
.join(" ");
add
или toggle
?const search_input = document.querySelector('input.search_link');
const search_btn = document.querySelector('a.search_a');
search_btn.addEventListener('click', function() {
const hasValue = search_input.value.length > 0;
const methodName = hasValue ? "add" : "toggle";
search_input.classList[methodName]('search_link_active');
});
const D = new Date(1000 * 1628833882.9999998); // объект даты
D.toISOString() // "2021-08-13T05:51:22.999Z"
fill
каждого из регионов:const hasDupes = (arr) => {
for (let i = arr.length - 1; i >= 0; i--) {
if (i !== arr.findIndex((el) => arr[i].id === el.id))
return true;
}
return false;
}
const obj = {
todos: [
{title: "QnA", description: "прочитать документацию"},
],
}
fetch('http://192.100.0.0:3000/usersTodos/1000', { // здесь 1000 это id
method: 'patch',
headers: {
'Accept': 'application/json, text/plain, */*',
'Content-Type': 'application/json'
},
body: JSON.stringify(obj)
})
var example = {
get step_1() {
return '12345'
},
get step_2() {
var key = this.step_1;
console.log(key + ' from "step_1"')
}
};
example.step_2 // 12345 from "step_1"
example
как this
с помощью bind()
// ...
step_2: {
get: (function () {
var key = this.step_1.get();
console.log(key + ' from "step_1"')
}).bind(example), // теперь тут this === example
}
example.step_2.get() // 12345 from "step_1"
// (исходный код вопроса)
// magic!
Object.keys(example).forEach((key) => {
if ("get" in example[key])
example[key].get = example[key].get.bind(example);
});
example.step_2.get(); // 12345 from "step_1"
window.location.hash
посмотреть при загрузке (документация)window.addEventListener("hashchange", funcRef, false);
===
это строгое равенство — сравнивает ещё и типы. number === "666" // сравнение со строкой (текстом)
number === 666 // сравнение с числом — то, что надо