Если вы не хотите искать в arr1
каждый элемент из arr2
(решение O (n²)), вы можете создать объект поиска для arr1
, связанный с id
. Затем вы можете просто выполнить цикл arr2
, объединяя найденный объект, просматривая его. Это будет более эффективно, если у вас есть большие массивы.
let arr1 = [{id: 100, quantity: 2, grp: '1A'},{id: 101, quantity: 2, grp: '2A'}]
let arr2 = [{id: 101, color: "#FFF"}, {id: 100, color: "#000"}]
// make lookup
let lookup = arr1.reduce((lookup, item) => lookup.set(item.id, item), new Map)
// assign color to correct object
arr2.forEach(({id, ...rest}) => Object.assign(lookup.get(id), rest))
console.log(arr1)
Если это работает всего кроме IE, существует ошибка IE, которая происходит, если существует пробел после тега изображения. Попробуйте это:
<div>
<img /></div>
вместо этого:
<div>
<img />
</div>
Просто установите line-height
свойство Вашей вершины и нижних отделений к 0
.
Пример кода:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Test</title>
<style type="text/css">
#top {
background-color: #f00;
line-height: 0px;
}
#middle {
background-color: #0f0;
}
#bottom {
background-color: #00f;
line-height: 0px;
}
</style>
</head>
<body>
<div id="top">
<img src="http://i.stackoverflow.com/Content/Img/stackoverflow-logo-250.png"
alt="Stackoverflow" />
</div>
<div id="middle">
<div>This is the first middle div child.</div>
<div>This is the second middle div child.</div>
<div>This is the third middle div child.</div>
</div>
<div id="bottom">
<img src="http://www.gravatar.com/avatar/ae3e50c947379163d74b6de6fa01d509?s=32&d=identicon&r=PG"
alt="Gripsoft avatar" />
</div>
</body>
Изображение находится на текстовой базовой линии встроенного поля. Добавьте текст налево и право на Ваше изображение проверить это. Существует пространство ниже текстовой базовой линии для создания места для подстрочных элементов букв (‘g’, ‘y’ и т.д.), а также межстрочный интервал.
Установите стиль CSS изображения, ‘вертикальный - выравниваются’ к чему-то как 'вершина' или 'нижняя часть' (как соответствующий), чтобы заставить его выровняться к краю текстовой строки вместо базовой линии.
Можно дать изображение display: block
. Кроме того, можно следовать изображению с <br/>
или перенеситесь, это в отделении (удостоверьтесь, что нет никакого пробела). В этом случае я предпочел бы использовать display: block
если Вы не должны были соединять 2 изображения по некоторым причинам.