此行创建一个代表对象数组的杨森格式字符串.
"[{data:'" + $(".mycountries").text().split(", ").join("'},{data:'") + "'}]"
请注意,这是一个字符串,而不是实际的JavaScriptarray.如果您想创建国家/地区对象的实际JavaScript数组,您可以通过拆分字符串并将其映射到对象来这样做.
//Get the comma-separated list of countries
const countriesString = $(".mycountries").text().trim();
// Split the string into an array of country names and map each name into an object with the required structure
const countriesArray = countriesString.split(", ").map(country => {
return {
data: country
};
});
// Create a dropdown list widget using that array
var mydropdown = new OO.ui.ComboBoxInputWidget({
options: countriesArray
});
$("body").prepend(mydropdown.$element);
$("p").html(JSON.stringify(countriesArray));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://doc.wikimedia.org/oojs-ui/master/demos/node_modules/oojs/dist/oojs.js"></script>
<script src="https://doc.wikimedia.org/oojs-ui/master/demos/dist/oojs-ui.js"></script>
<link rel="stylesheet" href="https://doc.wikimedia.org/oojs-ui/master/demos/dist/oojs-ui-wikimediaui.css">
<script src="https://doc.wikimedia.org/oojs-ui/master/demos/dist/oojs-ui-wikimediaui.js"></script>
<h3>Comma-separated list:</h3>
<div class="mycountries">Argentina, Brazil, Colombia, Ecuador</div>
<h3>Desired array:</h3>
<p> </p>