console.log(
foundMovies.map((i) =>
nominates.some( (z) => z.id === i.id && z.title === i.title && z.year === i.year ) ? { ...i, ...{ status: true } } : i ));
const foundMovies = [
{title: 'IronMan', year: '2010', id: '1234', status: false},
{title: 'Text Me If You Can', year: '2014', id: '2345', status: false},
{title: 'Wrong Way', year: '2012', id: '3456', status: false},
{title: 'Blizzard', year: '2011', id: '4567', status: false},
];
const nominates = [
{title: 'Text Me If You Can', year: '2014', id: '2345'},
{title: 'Wrong Way', year: '2012', id: '3456'},
];
for (let elMovies in foundMovies) {
for (let elNominates in nominates) {
if (foundMovies[elMovies].title === nominates[elNominates].title &&
foundMovies[elMovies].year === nominates[elNominates].year &&
foundMovies[elMovies].id === nominates[elNominates].id) {
foundMovies[elMovies].status = true;
}
}
}
console.log(foundMovies);
Нормальная ли ситуация, при которой разработчика пытаются бросать в разные направления?не нормальная.
Кто в теме, объясните, пожалуйста, почему в golang нельзя []что-то привести к []interface{} :
interface{}
это отдельный тип и slice []interface{}
может принять только срез этого типа.func remove(slice []interface{}, s interface{}) []interface{} {
return append(slice[:s.(int)], slice[s.(int)+1:]...)
}
func main() {
a := []string{"a", "b", "c"}
// преобразование
ai := make([]interface{}, len(a))
for i, v := range a {
ai[i] = v
}
ai = remove(ai, 2)
b := []int{1, 2, 3}
// преобразование
bi := make([]interface{}, len(b))
for i, v := range b {
bi[i] = v
}
bi = remove(bi, 1)
fmt.Printf("%T: %v\n", ai, ai)
fmt.Printf("%T: %v\n", bi, bi)
}
В смысле, почему не сделать, чтобы так было можно.
s []string
это массив массивов типа byte, а i []int
массив чисел типа int и они имеют в памяти разное представление.func main() {
b := []i1{i1("xyz")}
bi := make([]intf, len(b))
for i, v := range b {
bi[i] = v
}
print1(bi)
}
watch: {
alias: {
immediate: true,
handler: 'getArticles',
},
},