如何在JavaScript的“每个”循环中使用“多个数组”

时间:2019-09-25 08:07:16

标签: javascript php arrays

我希望标记为PageType ='item'(仅在一个类别内)的产品页面根据网页的语言变异显示不同的HTML代码。到目前为止,我已经实现的是,每个变异页面上的内容都是X倍(x =对象项目,例如“ eng”:“ categoryname”)

var html = `
		<div class="">
			<a class="" href="#" target="_blank">
				<img src="different images with site language mutation" alt="banner">
			</a>
		</div>
`;



var langcode = $('html').attr('lang');

var maincat = [];

$(".breadcrumbclass").each(function() {
  var vat = $(this).text();
  maincat.push(vat);
});


var mycategory = maincat[1];


$.each(langmutations, function(key, val) {
  if (((PageType == 'item') || (PageType === 'category')) && (mycategory === langmutations[langcode])) {
    $('.classForPastingMyHtml').after(html);

  }
});



//This is what i have in JS
var langmutations0 = {
  eng: 'categoryname',
  de: 'kategoriename',
  ru: 'categorija'
};
//or
var langmutations1 = [
  ["eng", "categoryname"],
  ["de", "kategoriename"],
  ["ru", "categorija"]
];

//I believe this is PHP style
var langmutations2 = ['eng' => 'categoryname', 'de' => 'kategoriename', 'ru' => 'categorija'];

//This could be multiple array in PHP style ? I want to have this in JS
var multiple = [eng => [“cat” => “categoryname”, “banner” => “link”], de => [“cat” => “kategoriename”, “banner” => “link”], ru => [“cat” => “categorija”, “banner” => “link”]];
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

我认为我应该使用多个数组之类的东西,但是不知道JS中是否存在它或如何构造它。或者,可能会响应该PHP样式的javascript对象。

1 个答案:

答案 0 :(得分:0)

下面是一些简单的代码,可以帮助您入门:

var multiple = {
	    eng : {"cat" : "categoryname", "banner" : "link"}, 
	    de : {"cat" : "Kategoriename", "banner" : "link"}, 
	    ru : {"cat" : "categorija", "banner" : "link"}
};

var language = 'de';
var translations = multiple[language];

var cat = translations.cat;

console.log(cat);

//Show all translations
$.each(multiple, function(language,translations){
    var cat = translations.cat;
    console.log(cat);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

它使用对象内部的对象作为语言的键。