Я предпочитаю решение подчеркивания для этого, если это возможно, но я возьму решение VanS JS, если это лучшее, что я могу получить.Как вы используете underscore.js для редактирования строки в массиве объектов, у которых есть пара значений строки?
Я хочу использовать массив 2 для редактирования строк в объектах array1, которые начинаются с или заканчиваются строками в массиве2. В результате я ищу можно увидеть в результатах array3 ниже:
array1 = [{key1: "Patty Bakery", key2: stuff}, {key1: "Bob Wine Shack",
key2: mattersNot}, {key1: "Romeo Clothing", key2: things}, {key1:
"StackIt", key2: finished}];
array2 = ["Patty", "Romeo", "Wine Shack"];
array3 = [{key1: "Bakery", key2: stuff}, {key1: "Bob",
key2: mattersNot}, {key1: "Clothing", key2: things}, {key1:
"StackIt", key2: finished}];
До сих пор лучшее, что я мог сделать, это удалить весь объект в array1 с этим кодом:
array1.filter(function(a){
return!_.some(array2, function(b){
return startsWith(a.key1, b)})})
//I have installed and am using underscore.string
, который дает мне array3, который выглядит как
array3 = [{key1:"StackIt", key2: finished}];
являются строки, которые вы хотите изменить всегда под ключом 'key1' или они могут отличаться? –
@MartinSchneider хороший вопрос - они всегда под ключ1. – rashadb
Что, если строка будет «Patty Whine Shack Romeo»? Должен ли скрипт выйти после удаления только Patty или сделать это до тех пор, пока не будет никаких дополнительных условий, которые нужно удалить и, таким образом, вернуть пустую строку? –