gpt4 book ai didi

javascript - 如何获取 obj 值和键来为 POST 方法构建数组对象

转载 作者:行者123 更新时间:2023-12-03 04:07:11 25 4
gpt4 key购买 nike

我尝试构建的数据存在问题,情况是如果用户仅输入 IdProductName 则仅使用该数据,或者如果用户输入Idproduct Name 然后使用两者。

目前我的 JSON 仅采用其中之一,而不是同时采用两者。

使用ID或Name输入工作正常,预期结果是:--

{
"Filters": {

"complex_filterField": [
{
"keyField": "name",
"valueField": {
"keyField": "like",
"valueField": "%aviator%"
}
}
]
}
}

如果 Id 和 Name 输入都已填充,则预期结果类似于下面的代码,但我在构建时遇到了麻烦。

问题是如何在构建过程中获取这两个值,如下所示?

{
"Filters": {

"complex_filterField": [
{
"keyField": "name",
"valueField": {
"keyField": "like",
"valueField": "%aviator%"
}
},
{
"keyField": "product_id",
"valueField": {
"keyField": "like",
"valueField": "15%"
}
}
]
}
}

Sample working code

最佳答案

您正在循环遍历字段,但每次迭代都会覆盖查询 - 因此您最终会得到最后一个。

一个简单的重构:

function LoginController($scope) {

$scope.search = function (param) {
var queryArray = [];
for (var keyName in param) {
if (param[keyName] != undefined && param[keyName] != '' && param[keyName] != null) {
var queryValue = param[keyName];
var queryLabel = keyName;
var query = {
"keyField": queryLabel,
"valueField": {
"keyField": "like",
"valueField": '%' + queryValue + '%'
}}
queryArray.push(query);
}
}

var searchData = {
"Filters": {
"complex_filterField": queryArray
}
}

console.log('searchData: ', searchData);


};
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular.min.js"></script>
<div ng-app ng-controller="LoginController">
<div>Hello {{ user.firstName }}</div>
<input ng-model="param.id" placeholder="id"></input>
<input ng-model="param.itemName" placeholder="item name"></input>
<input type="submit" ng-click="search(param)" value="Login"></input>
<div ng-repeat="login in logins">{{ login }}</div>
</div>

关于javascript - 如何获取 obj 值和键来为 POST 方法构建数组对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44499012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com