我有一个数组,如果该数组包含另一个数组具有的值,我想从另一个数组中推送键/值。
var array1 = [
{
"item":"carbon",
"name_i18n": "UI_FUEL_1_NAME_L",
"prefix":"resources",
},
{
"item":"silver",
"name_i18n": "UI_ASTEROID1_NAME_L",
"prefix":"resources",
},
]
我要检查这个数组:
var array2 = [
{
"recipe":"RECIPE_ASTEROID1__1",
"ingredients":[
{"item":"silver","qnt":"100"},
{"item":"carbon","qnt":"100"},
]
},
{
"recipe":"RECIPE_FUEL3__2",
"ingredients":[
{"item":"carbon","qnt":"50"},
{"item":"carbon","qnt":"50"},
{"item":"carbon","qnt":"50"},
]
},
在array1中具有“ item”的值(如果有的话),我想将配方键/值推入array1中,但不要重复,因为您可以看到array2中的第二个条目包含3种成分,同名,我不想将3x键/值放在array1中。
检查后的示例输出:
var array1 = [
{
"item":"carbon",
"prefix":"resources",
"recipe":"RECIPE_FUEL3__2",
},
{
"item":"silver",
"prefix":"resources",
"recipe":"RECIPE_ASTEROID1__1",
},
]
我已经使用以下代码检查了它们是否具有另一个属性:
$.each( array1, function( key, value ) {
if (name === value.name_i18n){
name = value.item;
}
});
我过去经常将name的值压入array2中,但这只是一个值,而不是上面的示例中的3。